我想复制文件,例如Ubuntu Nautilus文件管理器。如果目的地已经存在,它将创建具有更大索引的新文件名。我尝试了shutil.copyfile
,但是它覆盖了目标文件。如果目标文件已存在于python中,如何增加文件名?
答案 0 :(得分:-1)
shutil.copyfile(src, dst, *, follow_symlinks=True)¶
将名为src
的文件的内容(无元数据)复制到名为dst
的文件并返回dst
。 src
和dstare
路径名称以字符串形式给出。 dst
必须是完整的目标文件名;请查看shutil.copy()
以获取接受目标目录路径的副本。如果src
和dst
指定相同的文件,则会引发SameFileError
。
目标位置必须可写;否则,将引发OSError
例外。如果dst
已经存在,它将被替换。不能使用此功能复制特殊文件,例如字符或块设备以及管道。
如果follow_symlinks
为假并且src
是符号链接,则将创建一个新的符号链接,而不是将文件src
的点复制到该链接。
在版本3.3中进行了更改:IOError
曾经被使用,而不是OSError
。添加了follow_symlinks
参数。现在返回dst
。
在版本3.4中进行了更改:提高错误SameFileErrorinstead
。由于前者是后者的子类,因此此更改是向后兼容的。
exception shutil.SameFileError
如果copyfile()
中的源和目标是同一文件,则会引发此异常。