我编写了一个重命名文件的脚本
import os
path = "C:\\Users\\A\\Downloads\\Documents\\"
for x in os.listdir(path):
if x.startswith('i'):
os.rename(x,"Information brochure")
当python文件位于与路径不同的目录中时,我找不到文件错误
Traceback (most recent call last):
File "C:\Users\A\Desktop\script.py", line 5, in <module>
os.rename(x,"Information brochure")
FileNotFoundError: [WinError 2] The system cannot find the file specified:'ib.pdf'-> 'Information brochure'
但是如果我将python文件复制到路径位置它可以正常工作
import os
for x in os.listdir('.'):
if x.startswith('i'):
os.rename(x,"Information brochure")
有什么问题?
答案 0 :(得分:3)
您的变量x
目前只是相对于path
的文件名。这是os.listdir(path)
输出的内容。因此,您需要使用path
将x
添加到os.path.join(path,x)
。
import os
path = "C:\\Users\\A\\Downloads\\Documents\\" #os.path.join for cross-platform-ness
for x in os.listdir(path):
if x.startswith('i'): # x, here is the filename. That's why it starts with i.
os.rename(os.path.join(path,x),os.path.join(path,"Information brochure"))
答案 1 :(得分:0)
x
变量具有文件名,但不是文件的完整路径。使用此:
os.rename(path + "\\" + x, "Information brochure")