python中的路径错误

时间:2014-05-26 03:35:53

标签: python

我编写了一个重命名文件的脚本

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")

有什么问题?

2 个答案:

答案 0 :(得分:3)

您的变量x目前只是相对于path的文件名。这是os.listdir(path)输出的内容。因此,您需要使用pathx添加到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")