繁体   English   中英

在Python中重命名文件:WindowsError:[错误2]系统找不到指定的文件

[英]rename files in Python: WindowsError: [Error 2] The system cannot find the file specified

我在这里看过代码,看起来并不难。

无法解决WindowsError:[错误2]系统找不到指定的文件

但是,对于我而言,它不起作用。 我在这里对Python很陌生。 我重命名了文件夹而不是文件。 然后,这些文件夹中的每个文件夹都有一些文件也需要重命名。

到目前为止,这是我重命名目录中的文件夹的目的:

import os
from os import rename, listdir

path = r"E:\myFolder"
dirList = os.listdir(path)
print str(dirList)

for name in dirList:
    nameOrig = (name[0:(len(name)-12)])
    nameRename = nameOrig + "City"
    os.rename((os.path.join(path, nameOrig), os.path.join(path, nameRename))

非常感谢

1)我不确定(name[0:(len(name)-12)])在做什么... name应该是要重命名的目录本身的名称,我可以推断为nameOrig

2) os.rename((os.path.join(path, nameOrig), os.path.join(path, nameRename))具有不平衡的括号。

如果我从重rename函数调用的开头删除了一个打开的括号,则可以重命名目录中的内容。 并设置nameOrig = name

*注意,我使用的是Linux版本的Python,该目录可能会或可能不会以不同的方式对待目录列表中的结果

非常感谢您的帮助。 吉姆说得对,我需要在最后一行中使用“名称”而不是“ nameOrig”。 还要感谢Ryan J抓住了多余的钱

这行说

nameOrig =(名称[0:(len(name)-12)])

假设要取出最后12个字符并将其替换为新名称。 在这种情况下是“城市”

所以我有一个名为

031_印第安纳波利斯032_印第安纳波利斯033_印第安纳波利斯034_印第安纳波利斯...等等...

然后我将其更改为031_City 032_City 033_City 034_City ....

这是最终代码:

从os导入OS导入重命名listdir

path = r“ E:\\ myFolder” dirList = os.listdir(path)print str(dirList)

对于目录列表中的名称:nameOrig =(name [0:(len(name)-12)])nameRename = nameOrig +“ City” os.rename(os.path.join(path,name),os.path.join(路径,名称重命名))

打印“ / n全部处理”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM