我查看了Python os界面,但无法找到移动文件的方法。我将如何$ mv ...在Python中做相当于?
Python os
$ mv ...
>>> source_files = '/PATH/TO/FOLDER/*' >>> destination_folder = 'PATH/TO/FOLDER' >>> # equivalent of $ mv source_files destination_folder
os.rename(),shutil.move()或os.replace()
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。但是,如果目标与源位于不同的磁盘上,它将复制并删除源文件。
shutil.move
os.rename