我看过这里的代码,看起来并不那么难。
Can't resolve WindowsError: [Error 2] The system cannot find the file specified
但是,它在我的情况下不起作用。我在这里对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))
非常感谢
答案 0 :(得分:0)
1)我不确定(name[0:(len(name)-12)])
正在做什么...... name
应该是要重命名的目录本身的名称,我推断是nameOrig
2)os.rename((os.path.join(path, nameOrig), os.path.join(path, nameRename))
括号不平衡。错字?
如果我从rename
函数调用的开头删除一个打开的paren,这适用于重命名我的目录中的内容。并设置nameOrig = name
*注意,我使用的是Linux版本的Python,它可能会也可能不会以不同的方式处理目录列表中的结果
答案 1 :(得分:0)
非常感谢你的帮助。吉姆是对的,我需要在最后一行使用'name'而不是'nameOrig'。并且感谢Ryan J抓住了额外的paren
说
的行nameOrig =(name [0:(len(name)-12)])
假设取出最后12个字符并用新名称替换它。在这种情况下,它是'城市'
所以我有名为
的文件夹名称031_Indianapolis 032_Indianapolis 033_Indianapolis 034_Indianapolis ......等等......
我换了 031_City 032_City 033_City 034_City ....
以下是最终代码:
导入操作系统 来自os import rename,listdir
path = r“E:\ myFolder” dirList = os.listdir(path) print str(dirList)
表示dirList中的名称: nameOrig =(name [0:(len(name)-12)]) nameRename = nameOrig +“City” os.rename(os.path.join(path,name),os.path.join(path,nameRename))
打印“/ n全部处理”