我想缩短我的代码。到目前为止我的所有文件都在:
C:\1A.csv
C:\2A.csv
C:\3\3A.csv
C:\4\4A.csv
C:\5\5A.csv
C:\6\6A.csv
C:\7\7A.csv
C:\8\8A.csv
C:\9\9A.csv
C:\10\10A.csv
C:\11\11A.csv
C:\12\12A.csv
我有:
try:
os.remove("C:\1A.csv")
except OSError:
pass
try:
os.remove("C:\2A.csv")
except OSError:
pass
#etc,,
哪种方法效果很好,但它会创建冗长的代码。
以下内容也很有用:
del_list = ['file1.csv', 'file2.csv', 'file3.csv'];
for fd in del_list:
try:
os.remove(os.path.join(my_dir, fd))
except OSError:
pass
虽然这通常限于一个文件夹。
答案 0 :(得分:1)
从python3.5 +开始,您可以使用glob
并对目录进行递归遍历。假设您要删除所有CSV文件,可以执行以下操作:
root = os.getcwd()
for file in glob.glob('*/**/*.csv'):
try:
os.remove(os.path.join(root, file))
except OSError:
...