无法重命名位于桌面文件夹中的旧文件。这里有三个文件:item.pdf
、item1.pdf
和item2.pdf
。我现在要做的是将这些文件重命名为new_item.pdf
、new_item1.pdf
和new_item2.pdf
。
我尝试使用以下脚本:
import os
filepath = "/Users/WCS/Desktop/all_files/"
for item in os.listdir(filepath):
os.rename(item,"new_name"+".pdf")
执行上述脚本会引发以下错误。而文件夹地址是准确的:
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'item.pdf' -> 'new_name.pdf'
如何将这三个文件从文件夹中重命名为item.pdf
,item1.pdf
new_item.pdf
,new_item1.pdf
和 new_item2.pdf
?E 243
发布于 2019-02-02 12:50:06
试试这个:
import os
import re
filepath = "/Users/WCS/Desktop/all_files/"
for item in os.listdir(filepath):
match = re.search(r'\d+$', item)
endnum = ""
if match:
endnum = match.group()
os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_name{}.pdf".format(endnum)))
或者,如果你不想使用re
import os
filepath = "/Users/WCS/Desktop/all_files/"
for item in os.listdir(filepath):
new_name = item.replace('item', 'new_item')
os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_name{}.pdf".format(new_name)))
发布于 2019-02-02 12:55:02
您需要在os.rename
中指定文件的完整路径。
类似于:
for item in filepath:
os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_item.pdf"))
或将当前工作目录更改为存在文件的目录:
os.chdir("/your/file/path")
然后运行你的代码。
https://stackoverflow.com/questions/54493222
复制相似问题