【发布时间】:2018-09-16 09:12:30
【问题描述】:
我对 Python 比较陌生。 我正在尝试创建一个程序,如果文件名中存在“_L2”,则从反向删除 3 个字符串。 这是代码。
import os
def deleteInCurrent():
L = os.listdir(os.getcwd())
for i in range(len(L)):
filename = L[i].rsplit(".", 1)[0]
if '_L2' in filename:
os.rename(filename+'.'+L[i].rsplit(".", 1)[1], filename[0:len(filename)-3]+'.'+L[i].rsplit(".", 1)[1])
print(os.getcwd())
for path, dirs, files in os.walk(os.getcwd()):
deleteInCurrent()
for i in range(len(dirs)):
os.chdir(dirs[i])
deleteInCurrent()
os.chdir("..")
print("Done")
在这里,我能够删除当前目录和较低目录中的文件。
我能做的是检查当前和 1 个深度较低的目录,如果 '_L2' 存在,则从反向删除 3 个字符串。
但我想做的是检查所有文件夹中的所有文件并自动执行相同的操作。
我可以得到一条建议吗?
【问题讨论】:
标签: string python-3.x while-loop directory