Python 需要帮助重命名引用CSV的文件,同时处理重复的名称等吗

Python 需要帮助重命名引用CSV的文件,同时处理重复的名称等吗,python,csv,Python,Csv,我试图创建一个程序,根据客户端提供的CSV重命名大量文件。CSV包含以下内容: 行[0]-要替换的当前名称 行[1]-要替换为的名称 files_mapping[name] = new 过去我在CSV中遇到过重复文件名的问题,在这种情况下,我希望在适当的时候自动在文件名中添加“_n”(n=重复编号) 文件和CSV都位于同一文件夹中 import os import sys import csv print('Hey') def rename_files(csv_filename):

我试图创建一个程序,根据客户端提供的CSV重命名大量文件。CSV包含以下内容: 行[0]-要替换的当前名称 行[1]-要替换为的名称

files_mapping[name] = new
过去我在CSV中遇到过重复文件名的问题,在这种情况下,我希望在适当的时候自动在文件名中添加“_n”(n=重复编号)

文件和CSV都位于同一文件夹中

import os
import sys
import csv

print('Hey')

def rename_files(csv_filename):
    with open('rename_csv.csv', 'r') as csvfile:
        csvreader = csv.reader(csvfile, delimiter=',', quotechar='"')

        files_mapping = {}
        new_filenames = set()

        for row in csvreader:

            name = row[0] + '.wav'
            new = row[1] + '.wav'

            if new in new_filenames:
                raise Exception(
                    'Found duplicate filename {} for file {}'.format(new, name)
                )

            new_filenames.add(new)
            files_mapping['name'] = new

        for name, new in files_mapping.items():
            if os.path.exists(name):
                print('\n' + 'renaming ' + name)
                os.rename(name, new)

            else:
                print('\n' + name + " does not exist")


if __name__ == "__main__":
    rename_files(sys.argv[1])
预期结果是,标记为(在本例中…)1.wav、2.wav、3.wav等的文件将根据CSV重命名为a.wav、b.wav、c.wav等。相反,它似乎在运行,但不会更改任何文件名

终端输出: 哎


名称不存在

您正在错误地构建文件映射字典。我想在这条线上

files_mapping['name'] = new
您想引用
名称
变量-因此将其替换为

files_mapping[name] = new

您正在错误地构建文件映射字典。我想在这条线上

files_mapping['name'] = new
您想引用
名称
变量-因此将其替换为

files_mapping[name] = new

您的脚本有明显的缩进错误。请打开它,让它实际运行。(在本网站的桌面版上,选择粘贴的代码并键入ctrl-K。)CSV中的前几行是什么样子的,这些文件是否存在于当前目录中?嗨,tripleee,感谢您提供的格式化提示(第一次海报哈哈),CSV如下:1,a 2,b 3,c 4,d 5,e当前文件名是(1到26)+'.wav“您的脚本有明显的缩进错误。请打开它,让它实际运行。(在本网站的桌面版上,选择粘贴的代码并键入ctrl-K。)CSV中的前几行是什么样子,这些文件是否存在于当前目录中?嗨,tripleee,感谢您提供的格式化提示(第一次海报哈哈),CSV如下:1,a 2,b 3,c 4,d 5,e当前文件名是(1到26)+'.wav'