1 判断文件(夹)是否存在
参考:Python判断文件是否存在的三种方法
os模块中的os.path.exists()方法用于检验文件是否存在。
判断文件(夹)是否存在:
1 2 3 4 5 6
| import os os.path.exists(path)
os.path.exists(path)
|
问题:如果文件夹和文件同路径+同名会出现bug。
只检查文件:
1 2
| import os os.path.isfile("test-data")
|
2 创建目录
参考:python创建目录(文件夹)
1 2 3 4 5 6 7
| import os
os.path.exists(path)
os.makedirs(path)
os.mkdir(path)
|
3 复制文件
参考:用Python复制文件的9个方法
这是运行任何系统命令的最常用方式。使用 system() 方法,你可以调用 subshell 中的任何命令。在内部,该方法将调用 C 语言的标准库函数。该方法返回该命令的退出状态。
对于 Windows 系统:
1 2 3 4
| import os
os.system('copy 1.txt.py 2.txt.py') os.system(f'copy {source} {target}')
|
对于 Liunx 系统:
1 2 3
| import os
os.system('cp 1.txt.py 2.txt.py')
|
速度较慢,大量文件复制效果不佳。
4 路径拼接
os.path.join()函数用于路径拼接文件路径:
1 2 3 4 5 6
| import os
dir = "xxx" file_name = "xxx"
path = os.path.join(dir, file_name)
|
5 删除文件(夹)
参考:Python中删除文件的几种方法
删除文件:
1 2 3
| import os
os.remove(path)
|
注意:如果文件在之前被打开,会出现报错:
1 2
| os.remove(file_path) PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'data3\\dataset\\test\\Benign\\4447.txt'
|
所以删除前要关闭文件:
1 2 3 4
| file_path = os.path.join(type_dir, name) f = open(file_path, "r") f.close() os.remove(file_path)
|
删除目录:Python中的os.remove()方法用于删除文件路径。此方法无法删除目录。如果指定的路径是目录,则该方法将引发OSError。可以使用下面代码删除目录:
1 2 3
| import os
os.rmdir(dir_path)
|
Life is painting a picture, not doing a sum.