前言

os模块是Python标准库中一个用于访问操作系统的功能模块。

使用os模块中提供的接口,可以轻松实现跨平台访问。

在os模块中提供了一系列访问操作系统功能的接口,如,新建目录、删除目录、变更目录、重命名目录....

新建单级目录

基本语法:

os.mkdir( 'path' [,mode] )

path : 创建目录的路径
mode : 该目录的访问权限

实例如下:

>>> import os    # 导入 os 模块
>>> os.mkdir('test')    # 在当前目录下创建一个名为 test 的目录
>>> os.mkdir('a/test')     # 在 a 目录下创建 test 目录(注: a 目录事先应是存在的)
>>> os.mkdir('a/test/b', 0777)     # 在 a/test/目录下创建权限为 0777 ,名为 b 的目录

此时,查看相应的目录可以看到 交互模式下 创建的各个目录了。目录的访问权限可以根据不同的需求进行求改,其值与liuux 下的一致。

说明:以上操作实在交互模式下执行的,#号后的的为注释语句,使用时不需要输入。

创建多级目录

基本语法:

os.makedirs( 'path' [, mode = 0777] )

path : 各级目录信息
mode : 目录权限设置

实例如下:

>>> import os
>>> os.makedirs('a/b/c/d')    # 不指定目录权限
>>> os.makedirs('e/f/g/h',0777)    # 指定各级目录权限

此时在 命令行下使用 tree a 命令就可以查看到 父目录a下的所有子目录了。

分析:
第二行语句表示,在当前目录下创建多级目录 a/b/c/d ( 注: 原来不存在该目录 )
第三行语句表示,创建多级目录 e/f/g/h 且其每一级目录的权限均为 0777

重命名目录

基本语法:

os.rename( 'old_filename',' new_filename' )

功能:重命名目录(文件夹)。

实例如下:

>>> import os
>>> os.rename('test','test_new')

此时程序已将当前目录下的 test目录重命名为 test_new 。

提示:输入的 参数可以是‘相对路径’也可以是‘绝对路径’,如:
\>>> os.rename('/home/wqt/test','/home/wqt/test_new')

删除单级目录

基本语法:

os.rmdir( 'path' )

注: 该方法只适合删除单级(一级)的目录,多级目录无法删除。

实例如下:

>>> import os
>>> os.rmdir('test') # 删除 当前目录下的 test 目录

此时,当前目录下的 test 目录(文件夹)已被删除。

删除多级目录

基本语法:

os.removedirs( 'path' )

该方法可以删除多级的目录,缺省为一个目录名时,表示删除当前的单级目录文件。

提示: 使用该方法时应谨慎操作,使用不当会丢失众多文件,带来不必要的麻烦!!!!

实例如下:

>>> import os
>>> os.removedirs('e/f/g/h')

当需要删除多级目录时,填入的应该是完整的多级目录格式,而不能使用父目录格式来指定,如:os.removedirs( e ) 操作是非法的。

浏览目录文件

基本语法:

os.listdir( 'path' )

该方法可以将目录下的的内容以列表的形式返回。注意:该方法只返回指定目录的当前级内容(不包括子目录下的内容)。

实例如下

假设有一 study目录,该目录下有文件1.py、2.py、3.py 和子目录a、b、c,且子目录下还有其它文件。

>>> import os
>>> os.listdir('study')
['c', 'b', 'a', '3.py', '1.py', '2.py']
>>>

可见,该方法是以列表的形式返回当前指定目录下的所有文件,而并没有返回子目录下的内容。

获取当前目录信息

基本语法:

os.getcwd()

功能:将python当前所处的工作路径信息返回。

实例如下:

>>> os.getcwd()
'/home/wqt'

可见当前 python 工作在 wqt 目录中。

改变工作目录

基本语法:

os.chdir('path')

功能: 将 python 重新指向另一工作目录。

实例如下:

>>> import os
>>> os.getcwd()
'/home/wqt'
>>> os.chdir('./study')
>>> os.getcwd()
'/home/wqt/study'
>>> os.chdir('/')
>>> os.getcwd()
'/'
>>>

解释: 其中 . 表示当前目录 , / 表示根目录 ,所以 ./study 表示将工作目录转换到当前目录下的 study 的目录中。

更多功能

可查看参考地址:

完整学习教程请访问:Python3 入门教程——目录索引

最后修改:2022 年 06 月 08 日
如果觉得我的文章对你有用,请随意赞赏