Python 3.x 批量重命名文件会删除其中一些文件
使用Python 3.x 批量重命名文件会删除其中一些文件,python-3.x,ubuntu,standard-library,Python 3.x,Ubuntu,Standard Library,使用os.rename(src,dest)重命名许多文件时,我的一些文件会消失 我在Ubuntu上 In [66]: len(os.listdir())
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
(我的重点是):
os.rename(src,dst,*,src_dir_fd=None,dst_dir_fd=None)
将文件或目录src重命名为dst。如果dst是一个目录,将引发OSError在Unix上,如果dst存在并且是一个文件,则如果用户有权限,它将被静默替换
很明显,如果您已经有了与
f“{i+1}{extension}”匹配的文件
,它们将被覆盖。非常感谢!我在医生里完全没有看到。