Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 批量重命名文件会删除其中一些文件_Python 3.x_Ubuntu_Standard Library - Fatal编程技术网

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}”匹配的文件
,它们将被覆盖。

非常感谢!我在医生里完全没有看到。