我刚写了一个python脚本来摆脱文件名中的一些烦人的后缀,
这是我的代码:
import os
for root, dirs, files in os.walk("path"):
for filename in files:
if filename.endswith("[AnnoyingTag].mov"):
os.rename(filename, filename[:-18]+'.mov')
但我在最后一行收到了错误:
OSError: [Errno 2] No such file or directory
我很确定我有正确的路径,因为我可以正确打印出所有文件名。
...真的不知道为什么这不起作用。
感谢您的回答
答案 0 :(得分:11)
加入路径的首选方法是使用os.path.join
,更改此行:
os.rename(filename, filename[:-18]+'.mov')
替换为:
os.rename(os.path.join(root, filename), os.path.join(root, filename[:-18]+'.mov'))
答案 1 :(得分:8)
您可以替换
os.rename(filename, filename[:-18]+'.mov')
与
os.rename(root + os.sep + filename, root + os.sep + filename[:-18]+'.mov')
答案 2 :(得分:0)
修正:
import os
for root, dirs, files in os.walk("path"):
for filename in files:
if filename.endswith("[AnnoyingTag].mov"):
os.rename(root+'\\'+filename, root+'\\'+filename[:-18]+'.mov')
我认为您的问题是您重命名的文件不在当前工作目录中。