python 根据列表更改所有文件名

python to change all filenames based on list

我有一个包含文件列表的文件夹。 我有两个字典,其中有原始文件名和新文件名。

FldName = r'C:\Users\Shei\Documents\Test'
oldFname = {'mangoes.txt', 'apple.txt', 'banana.txt'}
NewFname = {'random.txt', 'example1.txt', 'something.txt'}

我知道我可以使用以下方法重命名单个文件

import os  
os.rename('Apple.txt','example1.txt') 

但我不确定,如何根据字典中的列表批量重命名文件。

如有任何帮助,我们将不胜感激

尝试将列表压缩在一起

import os

FldName = r'C:\Users\Shei\Documents\Test'
oldFname = ['mangoes.txt', 'apple.txt', 'banana.txt']
NewFname = ['random.txt', 'example1.txt', 'something.txt']

for i, j in zip(oldFname,NewFname):
    os.rename(os.path.join(FldName,i),os.path.join(FldName,j))

set 是无序的,尝试将它们列成列表:

FldName = r'C:\Users\Shei\Documents\Test'
oldFname = ['mangoes.txt', 'apple.txt', 'banana.txt']
NewFname = ['random.txt', 'example1.txt', 'something.txt']
for x, y in zip(oldFname, NewFname):
    os.rename(os.path.join(FldName, x), os.path.join(FldName, y))