一尘不染

如何在Python中移动文件

python

我查看了Python os界面,但无法找到移动文件的方法。我将如何$ mv ...在Python中做相当于?

>>> source_files = '/PATH/TO/FOLDER/*'
>>> destination_folder = 'PATH/TO/FOLDER'
>>> # equivalent of $ mv source_files destination_folder

阅读 1019

收藏
2020-02-12

共1个答案

一尘不染

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。但是,如果目标与源位于不同的磁盘上,它将复制并删除源文件。

2020-02-12