使用os.rename(src, dest)
重命名许多文件时,我的一些文件消失了。
我在Ubuntu上。
In [66]: len(os.listdir())
Out[66]: 1430
In [67]: for i, name in enumerate(os.listdir()):
...: extension = os.path.splitext(name)[1]
...: dest = f"{i+1}{extension}"
...: os.rename(name, dest)
...:
In [68]: len(os.listdir())
Out[68]: 839
答案 0 :(得分:1)
According to the FineManual(TM)(强调是我的):
os.rename(src,dst,*,src_dir_fd = None,dst_dir_fd = None)
将文件或目录src重命名为dst。如果dst是目录,则将引发OSError。 在Unix上,如果dst存在并且是文件,则在用户具有权限的情况下将无提示地替换它
显然,如果您已经有与f"{i+1}{extension}"
匹配的文件,它们将被覆盖。