os模块在python中属于内置模块,即不需要额外安装。
os模块提供了非常丰富的方法来处理文件和目录。我这里仅仅是列举其中常用的一些方法以供自己以后方便查阅。
使用os模块之前,先导入它,即:
In: import os
- 输出当前正在使用的平台
In: os.name
Out: 'nt'
#若是Windows则输出'nt',若是Linux/Unix,则是'posix'
- 输出当前目录
In: os.getcwd()
Out: 'D:\\资料盘\\硕士\\1_人脸\\Periocular_recognition_2'
#函数得到当前工作目录,即当前Python脚本工作的目录路径。
- 改变当前目录
In: os.getcwd()
Out: 'D:\\资料盘\\硕士\\1_人脸\\Periocular_recognition_2'
#改变当前工作目录
In: os.chdir(r'C:\Users\aoanng')
Out: #没有任何输出即成功改变当前工作目录
In: os.getcwd()
Out: 'C:\\Users\\aoanng'
- 创建文件夹
In: os.mkdir('a')
OUt: #在当前目录创建文件夹a
- 递归创建文件夹
In: os.makedirs(r'boys\a\b\c')
- 删除空目录
In: os.rmdir('a')
- 递归删除空目录
In: os.removedirs(r'boys/a/b')
- 文件夹重命名
In: os.rename('a.txt','b.txt')
- 输出指定目录下的所有文件和目录名
In: os.listdir()
Out: ['cnn_Inter_x4_0.py','cnn_recog_x2_0.py','original_data']
#等同于os.listdir(os.getcwd()),若没有参数,则默认为当前路径。如果想输出指定目录如D盘test文件夹下的文件和目录,则代码如下:
In: os.listdir(r'D:\test')
- 删除指定目录下的文件
In: os.remove('a.txt')
Out:
#如删除当前目录下的a.txt文件,输出没有任何提示则表示删除成功,如想删除D盘test文件夹下a.txt文件,则代码如下:
In: os.remove(r'D:\test\a.txt')
- 运行shell命令
In: os.system('dir')
Out: 0
In: os.system('cmd')
Out: #打开dos
- 输出操作系统特定的额路径分隔符
In: os.sep
Out: '\\'
#windows
- 输出当前平台的行终止符
In: os.linesep
Out: '\r\n'
#windows为'\r\n',linux为'\n'而Mac为'\r'。
- 返回指定路径的目录名和文件名
In: os.path.split(r'D:\资料盘\硕士\1_人脸\Periocular_recognition_2\add_noise.m')
Out: ('D:\\资料盘\\硕士\\1_人脸\\Periocular_recognition_2', 'add_noise.m')
- 检验一个路径是文件还是目录
#检验输入路径是不是目录
In: os.path.isdir(os.getcwd())
Out: True
#检验输入路径是不是文件
In: os.path.isfile(r'D:\资料盘\硕士\1_人脸\Periocular_recognition_2\add_noise.m')
Out: True
- 检验输入路径是否存在
In: os.path.exists(os.getcwd())
Out: True
In: os.path.exists(r'C:\aoanng')
Out: False
- 获得绝对路径
In: os.path.abspath('.')
Out: 'D:\\资料盘\\硕士\\1_人脸\\Periocular_recognition_2'
In: os.path.abspath('..')
Out: 'D:\\资料盘\\硕士\\1_人脸'
In: os.path.abspath('.\logs')
Out: 'D:\\资料盘\\硕士\\1_人脸\\Periocular_recognition_2\\logs'
- 分离文件名和扩展名
In: os.path.splitext('a.txt')
Out: ('a', '.txt')
- 连接目录与文件名或目录
In: os.path.join('c:\\Python','a.txt')
Out: 'c:\\Python\\a.txt'
In: os.path.join('c:\\Python','aoanng')
Out: 'c:\\Python\\aoanng'
- 返回文件名
In: os.path.basename('a.txt')
Out: 'a.txt'
In: os.path.basename('c:\\Python\\a.txt')
Out: 'a.txt'
- 返回文件目录
In: os.path.dirname('c:\\Python\\a.txt')
Out: 'c:\\Python'
参考: