os.rename()
,shutil.move()
或os.replace()
全部采用相同的语法:
import os
import shutil
os.rename("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
os.replace("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
请注意,你必须file.foo在源和目标参数中都包含文件名()。如果更改,该文件将被重命名和移动。另请注意,在前两种情况下,用于创建新文件的目录必须已经存在。在Windows上,必须不存在具有该名称的文件,否则将引发异常,但os.replace()
即使在这种情况下,它也将以静默方式替换文件。
正如在对其他答案的评论中所指出的那样,在大多数情况下shutil.move
只需调用即可os.rename
。但是,如果目标与源位于不同的磁盘上,它将复制并删除源文件。