我需要交换文件夹中所有文件的名称,但每个文件都必须拥有它自己的唯一名称。
我试图循环遍历文件夹,将所有文件添加到列表中,然后使用random.shuffle()对该列表进行洗牌,然后再次循环浏览该文件夹,但这次按顺序将每个文件重命名为洗牌列表。 / p>
这是这样的:
for file in os.listdir("images/"):
os.rename(file, files_shuffle[i])
i += 1
但是我得到WinError 183"当该文件已经存在时无法创建文件"。解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
问题可以很容易地说明。您有以下文件:
a.txt
b.txt
你要重命名它们:
b.txt -> a.txt
a.txt -> b.txt
但是,只要您想将b.txt
重命名为a.txt
,就会出现报告的问题,因为文件a.txt
已存在。
您可以分两次执行该程序:
如果临时名称集不与原始名称冲突,则程序是安全的。