如何在 Python 中执行与 mv src/* dest/
等效的操作?
>>> source_files = '/PATH/TO/FOLDER/*'
>>> destination_folder = 'PATH/TO/FOLDER'
>>> # equivalent of $ mv source_files destination_folder
最佳答案
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
)。如果更改,文件将被重命名和移动。
另请注意,在前两种情况下,创建新文件的目录必须已经存在。在 Windows 上,具有该名称的文件不得存在,否则将引发异常,但 os.replace()
将静默替换文件,即使在这种情况下也是如此。
正如在对其他答案的评论中所指出的,shutil.move
在大多数情况下只是调用 os.rename
。但是,如果目标与源位于不同的磁盘上,它将复制然后删除源文件。
关于python - 如何在 Python 中移动文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58778392/