我正在尝试用一个CSV文件中的旧名称和新名称来重命名文件的脚本,但是无法成功。

2024-10-05 14:21:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还很陌生,但我尝试过创建一个脚本,它查看CSV文件,并获取第3列单元格中的值,在目录中找到该文件名,然后根据第5列中的相关值对其进行重命名。在

我认为这可能是一个权限问题,但即使我在本地使用文件运行它,也不会发生任何事情。在

import os, sys, csv

IDs = {}
with open ('/Path to CSV file/ArchiveListCSV.csv', 'r') as csvfile:
    timeReader = csv.reader(csvfile, delimiter = ',')

    for row in timeReader:
        IDs[ row[3] ]= row[5]

path = 'Path to files to be renamed/'

for oldname in os.listdir(path):
    if oldname in IDs:
        try:
            os.rename(os.path.join(path, oldname), os.path.join(path, IDs[oldname]))
        except:
            print('File ' + oldname + ' could not be renamed to ' + IDs[oldname] + '!')

当我运行它时,我没有收到错误消息,但是文件没有被重命名。我只想让它把从CSV第3列的值中找到的所有文件重命名为第5列中的相关值。在


Tags: 文件csvtocsvfilepathinidsfor