Python中对于文件操作与处理的模块有:os模块和shutil模块。
os模块不仅提供了对目录/文件进行:新建、删除、查看等操作,还提供了对文件以及目录的路径操作:绝对路径、相对路径等。
shutil模块相当于是对os进行的一个补充,对文件进行:移动、复制、法宝、压缩、解压等操作
1、os的常用功能
os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
import os
abs = os.path.isfile('F:/learning/test-package/data_set/test')
print(abs)
输出:
False
import os
abs = os.path.isfile('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
True
os.path.isdir()——判断指定对象是否为目录。是True,否则False。例:
abs = os.path.isdir('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
False
abs = os.path.isdir('F:/learning/test-package/data_set/test')
print(abs)
输出:
True
os.path.exists()——检验指定的对象是否存在。是True,否则False.例:
abs = os.path.exists('F:/learning/test-package/data_set/test')
print(abs)
输出:
True
os.path.basename(path)——返回文件名(这里的文件名指的是最后一级文件(包括文件夹或是文件)名,看例子会很清晰
abs = os.path.basename('F:/learning/test-package/data_set/test')
print(abs)
输出:
test
abs = os.path.basename('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
570629.dcm
os.path.commonprefix(list)——返回list(多个路径)中,所有path共有的最长的路径。(使用较少)
abs = os.path.commonprefix(('F:/learning/test-package/data_set/test/570629.dcm', 'F:/learning/test-package/data_set/'))
print(abs)
输出:
F:/learning/test-package/data_set/
os.path.dirname(path)——返回文件路径
abs = os.path.dirname('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
F:/learning/test-package/data_set/test
os.path.split(path) ——把路径分割成dirname和basename,返回一个元组
abs = os.path.split('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
('F:/learning/test-package/data_set/test', '570629.dcm')
os.path.splitext(path) ——分割路径,返回路径名和文件扩展名的元组
abs = os.path.split('F:/learning/test-package/data_set/test/570629.dcm')
print(abs)
输出:
('F:/learning/test-package/data_set/test/570629', '.dcm')
2、其他常用命令:
os.getcwd()——得到当前工作的目录
abs = os.getcwd()
print(abs)
输出:
F:\learning\test-package
os.listdir()——指定所有目录下所有的文件和目录名
abs = os.listdir('F:/learning/test-package/data_set/test')
print(abs)
输出:
['570629.dcm', '570634.dcm', '572120.dcm', '572123.dcm', '572127.dcm', '572131.dcm', '574396.dcm', '574407.dcm']
一下操作结果输出得自己实践,这里很难显示,就不列举了。
os.remove()——删除指定文件
os.rmdir()——删除指定目录
os.mkdir()——创建目录
注意:这样只能建立一层,要想递归建立可用:os.makedirs()