我重命名了某个文件夹中的文件,我试图显示原始文件列表和重命名文件列表。问题是,打印功能的两个输出是相同的,它应该是不同的。
这是我的代码:
import os
import string
list = os.listdir(r"/Users/air/Desktop/book vocab/b CS tutr")
print list
os.chdir(r"/Users/air/Desktop/book vocab/b CS tutr")
for file in list:
os.rename (file, file.translate(None,'12345'))
print list
两个输出都是原始文件名,我希望第二个输出应该是重命名的文件名。
答案 0 :(得分:0)
os.listdir()
返回字符串列表。该字符串列表一旦返回,就不再与原始目录列表建立连接。
换句话说,重命名文件时,变量list
将不更改。再次致电os.listdir()
以获取新的更新列表。
或者,使用新名称更新列表以及:
path = "/Users/air/Desktop/book vocab/b CS tutr"
filenames = os.listdir(path)
print filenames
os.chdir(path)
for i, filename in enumerate(filenames):
newname = filename.translate(None, '12345')
os.rename(filename, newname)
filenames[i] = newname
print filenames
我在这里使用了不同的文件名列表名称来掩盖built-in type name。