一学就废|Python基础碎片,OS模块

server/2025/1/14 22:27:25/

        Python 中的操作系统模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用依赖于操作系统的功能的可移植方式。osos. path模块包括许多与文件系统交互的函数。

Python-OS 模块函数

        我们将讨论 Python os 模块的一些重要功能:

  • 处理当前工作目录
  • 创建目录使用
  • Python 列出文件和目录
  • 使用 Python 删除目录或文件

处理当前工作目录

        将当前工作目录(CWD)视为 Python 正在运行的文件夹。每当文件仅通过名称调用时,Python 假定它在 CWD 中启动,这意味着只有当文件在 Python 的 CWD 中时,仅名称引用才会成功。

获取当前工作目录

        使用 os. getcwd()来获取当前工作目录的位置。

python">import os 
cwd = os.getcwd() 
print("Current working directory:", cwd) 
更改当前工作目录

        要更改当前工作目录(CWD)os. chdir()方法。此方法将 CWD 更改为指定路径。它只需要一个参数作为新的目录路径。

        以下代码检查并显示当前工作目录(CWD)两次:使用 os. chdir('…/')将目录向上更改一级之前和之后。它提供了一个如何在 Python 中使用当前工作目录的简单示例。

python">import os 
def current_path(): print("Current working directory before") print(os.getcwd()) print() 
current_path() 
os.chdir('../') 
current_path() 
创建目录

        通过在 Python 中使用 os. mkdir()方法,用于创建具有指定数字模式的名为 path 的目录。如果要创建的目录已经存在,则此方法会引发 FileExistsError。

python">import os
directory = "test1"
parent_dir = "D:/Pycharm projects/"
path = os.path.join(parent_dir, directory)os.mkdir(path)
print("Directory '% s' created" % directory)
directory = "test2"
parent_dir = "D:/Pycharm projects"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.mkdir(path, mode)
print("Directory '% s' created" % directory)
  • 第一个目录是使用 os. mkdir()方法创建的,不指定模式。
  • 第二个目录使用相同的方法创建,但提供了特定模式(0o666),该模式授予读写权限。       

         Python 中的 os. makedirs()方法用于递归创建目录。这意味着在制作叶子目录时,如果缺少任何中级目录,os.makedirs()方法将全部创建。

        以下代码在不同的父目录中创建两个目录,“Nikhil” 和 “c”。它使用 os. makedrs 函数来确保在父目录不存在时创建它们。

python">import os
directory = "Nikhil"
parent_dir = "D:/Pycharm projects/test/Authors"
path = os.path.join(parent_dir, directory)
os.makedirs(path)
print("Directory '% s' created" % directory)
directory = "c"
parent_dir = "D:/Pycharm projects/test/a/b"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.makedirs(path, mode)
print("Directory '% s' created" % directory)

列出文件和目录

        Python 中有 os. listdir()方法用于获取指定目录下所有文件和目录的列表。如果我们没有指定任何目录,那么将返回当前工作目录下的文件和目录列表。
 

python">import os 
path = "/"
dir_list = os.listdir(path) 
print("Files and directories in '", path, "' :") 
print(dir_list) Files and directories in ' / ' :
['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 
'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']

删除目录或文件

        Python 中的 os. remove()方法用于删除或删除文件路径。此方法不能删除或删除目录。如果指定的路径是目录,则该方法将引发 OSError。

python">import os 
file = 'file1.txt'
location = "D:/Pycharm projects/test/Authors/Nikhil/"
path = os.path.join(location, file) 
os.remove(path) 

        Python 中的 os. rmdir()方法用于删除或删除空目录。如果指定的路径不是空目录,则会引发 OSError。

python">import os 
directory = "test"
parent = "D:/Pycharm projects/"
path = os.path.join(parent, directory) 
os.rmdir(path) 

常用函数和属性

os.name

        os.name给出导入的操作系统相关模块的名称。目前已注册以下名称:

        'posx'、'nt'、'os2'、'ce'、'java' 和 'riscos'。

python">import os
print(os.name)posix
os.error 

        以下代码读取名为 “test. txt” 的文件的内容。它使用 “try… 除外” 块来处理潜在的错误,特别是如果读取文件时出现问题可能会发生的 “IOError”。

python">import os
try:filename = 'test.txt'f = open(filename, 'rU')text = f.read()f.close()
except IOError:print('Problem reading: ' + filename)Problem reading: test.txt
os.rename()

        可以使用函数 os. rename()将文件 old.txt 重命名为 new.txt。仅当文件存在并且用户具有足够的权限来更改文件时,文件名才会更改。

python">import os
fd = "GFG.txt"
os.rename(fd,'New.txt')
os.path.exists()

        方法将通过传入文件名作为参数来检查文件是否存在。操作系统模块有一个名为 PATH 的子模块,通过它我们可以执行更多功能。

python">import os 
#importing os moduleresult = os.path.exists("file_name") #giving the name of the file as a parameter.print(result)
os.path.getsize()

        在 os. path.getsize()函数中,python 会以字节为单位给我们文件的大小。要使用此方法,我们需要将文件名作为参数传递。

python">import os #importing os module
size = os.path.getsize("filename")
print("Size of the file is", size," bytes.")


http://www.ppmy.cn/server/158392.html

相关文章

介绍下不同语言的异常处理机制

Golang 在Go语言中,有两种用于处于异常的机制,分别是error和panic; panic panic 是 Go 中处理异常情况的机制,用于表示程序遇到了无法恢复的错误,需要终止执行。 使用场景 程序出现严重的不符合预期的问题&#x…

Oracle 23ai新特性:表值构造函数

随着 Oracle 数据库不断发展,新版本引入了许多增强功能和特性,以提高开发效率、简化 SQL 编写并优化性能。Oracle 23c 引入了表值构造器(Table Values Constructor),这一特性允许用户直接在 SQL 语句中定义和使用内联表…

[文献精汇]使用 LSTM Networks 的均值回归交易策略

Backtrader 策略实例 [Backtrader]实例:均线策略[Backtrader] 实例:MACD策略[Backtrader] 实例:KDJ 策略[Backtrader] 实例:RSI 与 EMA 结合[Backtrader] 实例:SMA自定义数据源[Backtrader] 实例:海龟策略[Backtrader] 实例:网格交易[Backtrader] 实例: 配对交[Backtrader] 机…

C 语言的待解之题与前行之路:探寻那些显而易见的改进方向

在编程语言的历史长河中,C 语言一直占据着重要的地位,历经多次标准更新,如今已发展到 C23 版本。然而,令人困惑的是,一些明显的问题却始终未得到妥善解决。与此同时,D 语言社区在其编译器中嵌入了 C 编译器…

uniapp小程序分包路由跳转+二级页面详情跳转保留当前页方法教程

uniapp小程序分包路由跳转二级页面详情跳转保留当前页,进入二级页面,可以返回上一级页面。也就是保留当前页,这里用的是vue3uniappuv-ui组件库 步骤一: 新建文件夹目录。 代码: "subPackages": [{// 动态详…

HarmonyOS应用开发者初级认证最新版– 2025/1/13号题库新版

1.欢迎各位读者,本文档来自鸿蒙开发学员亲测,最新版。(考试时直接Ctrlf进行搜索,一定要认真比对答案,有的答案相似度很高)!!!!!! 欢迎…

nexus搭建maven私服

说到maven私服每个公司都有,比如我上一篇文章介绍的自定义日志starter,就可以上传到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步骤 使用docker安装nexus #拉取镜像 docker pull sonatype/nexus3:…

HarmonyOS鸿蒙-@State@Prop装饰器限制条件

一、组件Components级别的状态管理: State组件内状态限制条件 1.State装饰的变量必须初始化,否则编译期会报错。 // 错误写法,编译报错 State count: number;// 正确写法 State count: number 10; 2.嵌套属性的赋值观察不到。 // 嵌套的…