我正在尝试编写一个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)
我知道为什么我会收到此错误,但我的问题是:有更聪明的方法吗?我还想重命名所有重复的目录名称,但我仍然没有想出来......