使用Python重命名重复文件

时间:2017-05-18 00:00:53

标签: python python-3.x python-3.6

我正在尝试编写一个Python脚本,以递归方式重命名所有重复的文件名(即在所有目录中) 我已经搜索了网络和Stack Overflow,但我找不到任何答案...... 这是我的代码:

1495065607202174413
1495065607203
1495065607202177574
1495065607203
...
1495065607372205730
1495065607370
1495065607372208890
1495065607370
...

这就是我得到的错误:

#!/usr/bin/env python3.6
import os
import glob

path = os.getcwd()
file_list = []
duplicates={}

# remove filename duplicates
for file_path in glob.glob(path + "/**/*.c", recursive=True):
    file = file_path.rsplit('/', 1)[1]
    if file not in file_list:
        file_list.append(file)
    else:
        if file in duplicates.keys():
            duplicates[file] += 1
            lista = []
            lista.append(file_path)
            os.rename(file_path, file_path.rsplit('/', 1)[:-1] + '/' + str(duplicates[file]) + file)
        else:
            duplicates[file] = 1
            os.rename(file_path, file_path.rsplit('/', 1)[:-1] + '/' + str(duplicates[file]) + file)

我知道为什么我会收到此错误,但我的问题是:有更聪明的方法吗?我还想重命名所有重复的目录名称,但我仍然没有想出来......

0 个答案:

没有答案