【发布时间】:2021-07-15 18:34:05
【问题描述】:
我正在尝试以奇数顺序 (1,3,5,...) 重命名从 61440 到 122800 的子文件夹,但是当达到相同的旧名称时出现错误:
WinError 183] Cannot create a file when that file already exists:
'Input_Intact/77120' -> 'Input_Intact/77121'
你可以看到下面的代码:
import os
for dirname in os.listdir("."):
if os.path.isdir(dirname):
for i, filename in enumerate(os.listdir(dirname)):
j=i+1
os.rename(dirname + "/" + filename, dirname + "/" + str(i+j))
【问题讨论】:
-
请注意,
os.listdir()确实不以任何特定顺序返回目录条目。也就是说,您不应该假设它们已排序。
标签: python for-loop operating-system rename