
[英]rename file in Python: WindowsError: [Error 2] The system cannot find the file specified
[英]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.