2013-07-23 123 views
-2

我在写一个快速脚本这将改变每名擅长位于一个目录下的文件:重命名Excel文件os.rename()的Python

[...] 
for file_ in os.listdir(path): 
    if 'Analytics Android' in file_: 
     os.rename(file_, 'Android Orders.xlsx') 

但是,我得到一个错误:[Error 2] The system cannot find the file specified.不该” t rename函数将名称更改为第二个参数?

+0

你给功能的错误路径。这就是错误的含义。 – sashoalm

+1

你的下一个问题是你试图给所有的新文件命名。 – tdelaney

回答

3

os.listdir没有给出绝对路径,而是相对路径给定路径列出,所以你仍然必须创建的完整路径:

for file_ in os.listdir(path): 
    if 'Analytics Android' in file_: 
     os.rename(os.path.join(path, file_), os.path.join(path, 'Android Orders.xlsx')) 
+0

您还需要为'Android Orders.xlsx'添加路径,否则它将被移至您当前的工作目录。 – tdelaney

+0

@tdelaney好的 - 我的坏。 – orlp

2

你必须给文件的绝对路径。

>>> os.rename(os.path.join(path, file_), 'Android Orders.xlsx')