我查看了 Pythonos界面,但找不到移动文件的方法。$ mv ...我将如何在 Python 中做相当于?
os
$ mv ...
>>> source_files = '/PATH/TO/FOLDER/*' >>> destination_folder = 'PATH/TO/FOLDER' >>> # equivalent of $ mv source_files destination_folder
os.rename(), os.replace(), 或shutil.move()
os.rename()
os.replace()
shutil.move()
都使用相同的语法:
import os import shutil os.rename("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") shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
请注意,您必须file.foo在源参数和目标参数中都包含文件名 ( )。如果更改,文件将被重命名和移动。
file.foo
另请注意,在前两种情况下,创建新文件的目录必须已经存在。在 Windows 上,不得存在具有该名称的文件,否则将引发异常,但os.replace()即使在这种情况下也会以静默方式替换文件。
正如在其他答案的评论中所指出的那样,在大多数情况下shutil.move只是调用。os.rename但是,如果目标位于与源不同的磁盘上,它将改为复制然后删除源文件。
shutil.move
os.rename