import os
import sys
files = os.listdir(sys.argv[1])
for file in files:
if file[-4:] == ".png":
os.rename(file, file.replace('\r', ''))
正在使用上面的代码从文件名中删除,但是当我执行时会得到以下错误
Traceback (most recent call last):
File "renameImages.py", line 9, in <module>
os.rename(f, f.replace('\r', ''))
OSError: [Errno 2] No such file or directory
我哪里做错了?
可以使用str.rstrip('\r')方法从字符串右侧删除一组字符:
你在文章中说文件名的末尾有一个
\r
;这是非常不寻常的。你确定你的文件名在字符串的末尾有一个\r
吗?或者你假设它有,因为你用Python打印它?请记住,Python会自动返回打印的字符串。编辑
好:文件名的末尾确实有一个
\r
。我的第一个建议是修复产生如此不友好的文件名的脚本。。。对于这个scpt,您需要将前面的目录名或CD添加到相关目录中。既然THIS答案是前置的,下面是CD'ing:
您没有告诉它在
argv[1]
中声明的文件目录 尝试os.rename(sys.argv[1]+"/file",sys.argv[1]+"/"+replace('\r'','')
(对于Windows则为“\\”)。相关问题 更多 >
编程相关推荐