前言
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 入门教程——目录索引