当前位置: 首页 > 图灵资讯 > 行业资讯> Python os模块详解

Python os模块详解

发布时间:2025-10-09 17:46:09

与目录相关的os模块函数

与目录相关的函数如下:

os.getcwd():获取当前目录。

os.chdir(path):改变当前目录。

os.fchdir(fd):通过文件描述利改变当前目录。该函数与上一个函数的功能基本相似,但该函数以文件描述符为参数代表目录。

以下程序测试了与目录相关的函数的用法:

importos

#获取当前目录
print(os.getcwd())#G:\publish\codes\12.7
#改变当前目录
os.chdir('../12.6')
#再次获取当前目录
print(os.getcwd())#G:\publish\codes\12.6

上述程序示范了使用情况 getcwd() 获取当前目录,并示范使用 chdir() 改变当前目录。

os.chroot(path):改变当前进程的根目录。

os.listdir(path):返回 path 对应目录下的所有文件和子目录。

os.mkdir(path[, mode]):创建 path 对应的目录,其中 mode 用于指定目录的权限。这个 mode参数表示 UNIX 风格的权限,比如 0o777 代表所有者可读/可写/可执行,组用户可读/可写/可执行,其他用户可读/可写/可执行。

os.makedirs(path[, mode]):它的作用类似 mkdir(),但是这个函数的功能更强大,可以边归创建目录。例如,创建 abc/xyz/wawa 如果目录没有在当前目录下, abc 然后使用目录 mkdir() 函数会报错,使用时会报错 makedirs() 将首先创建函数 abc,然后在其中创建 xyz 子目录,最后在 xyz 创建子目录 wawa 子目录。

以下程序展示了如何创建目录:

importos
path='my_dir'
#直接在当前目录下创建目录
os.mkdir(path,0o755)
path="abc/xyz/wawa"
#递归创建目录
os.makedirs(path,0o755)

正如上述代码所看到的,直接在当前目录下创建 mydir 因此,可以使用子目录 mkdir() 函数创建;需要程序递归创建; abc/xyz/wawa 所以使用目录 makedirs() 函数。os.rmdir(path):删除 path 相应的空目录。如果目录不是空的,则抛出一个 OSError 异常。程序可以先使用 os.remove() 函数删除文件。os.removedirs(path):边缘删除目录。它的功能类似于 rmdir()但该函数可以递归删除 abc/xyz/wawa 目录,它会从 wawa 子目录开始删除,然后删除 xyz 最后删除子目录 abc 目录。以下程序显示了如何删除目录:

importos

path='my_dir'
#直接删除当前目录下的子目录
os.rmdir(path)
path="abc/xyz/wawa"
#子目录的递归删除
os.removedirs(path)

在上述程序中排名第一 5 行代码使用 rmdir() 删除当前目录下的函数 my_dir 子目录,函数不会递归删除;第一 8 行代码使用 removedirs() 函数删除 abc/xyz/wawa 目录,函数将被递归删除,它将首先被删除 wawa 然后删除子目录 xyz 最后删除子目录 abc 目录。

os.rename(src, dst):将重命名文件或目录, src 重名为 dst。

os.renames(old, new):递归重命名文件或目录。它的功能类似于 rename()但该函数可以递归重命名 abc/xyz/wawa 目录,它会从 wawa 子目录开始重命名,然后重命名 xyz 子目录,最后重命名 abc 目录。

以下程序显示了如何重命名目录:

importos

path='my_dir'
#直接重命名当前目录中的子目录
os.rename(path,'your_dir')
path="abc/xyz/wawa"
#递归重命名子目录
os.renames(path,'foo/bar/haha')

在上述程序中排名第一 5 当前目录下的行代码直接重新命名 my_dir 子目录将被重新命名为子目录 your_dir;第 8 行代码执行递归重命名,程序将 wawa 重命名为 haba,将 xyz 重命名为 bar,将 abc 重命名为 foo。

与权限相关的os模块函数

与权限有关的函数如下:

os.access(path, mode):检查 path 相应的文件或目录是否有指定的权限。函数的第二个参数可能是以下四个状态值的一个或多个值:

os.F_OK:判断它是否存在。

os.R_OK:判断是否可读。

os.W_OK:判断是否可以写。

os.X_OK:判断是否可执行。

例如,以下程序:

importos

#判断当前目录的权限
ret=os.access('.',os.F_OK|os.R_OK|os.W_OK|os.X_OK)
print("os.F_OK|os.R_OK|os.W_OK|os.X_OK-返回值:",ret)
#判断os.access_test.py文件的权限
ret=os.access('os.access_test.py',os.F_OK|os.R_OK|os.W_OK)
print("os.F_OK|os.R_OK|os.W_OK-返回值:",ret)

上述程序判断了当前目录和当前文件的权限,并特别将该文件设置为只读。运行此程序时,可以看到以下输出结果:

os.F_OK|os.R_OK|os.W_OK|os.X_OK-返回值:True
os.F_OK|os.R_OK|os.W_OK-返回值:False

相关文章

Python os模块详解

Python os模块详解

2025-10-09
Python Matplotlib安装过程详解

Python Matplotlib安装过程详解

2025-10-09
Python Scrapy安装

Python Scrapy安装

2025-10-09
UDP是什么,UDP协议及优缺点

UDP是什么,UDP协议及优缺点

2025-10-09
Python __dir__用法:列出对象的所有属性(方法)名

Python __dir__用法:列出对象的所有属性(方法)名

2025-10-09
Python进程之并行与并发的区别

Python进程之并行与并发的区别

2025-10-08