python - 如何在 Python 中移动文件?

标签 python file file-handling python-os

如何在 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/

相关文章:

python - 如何在 anaconda 中将 pip 版本从 10.0.1 升级到 18.0?

python - Google App Engine deferred.defer() 在方法返回时失败

python - Icecast 流的标题(不含 status.xsl)

c - 将结构写入一个文件,在接受 1 个输入后出现段错误

python - 带有 TensorFlow 的简单前馈神经网络无法学习

perl - R中的基本输入文件解析

c - 用 c 从/在文件中读/写

ruby-on-rails - 在 Rails 模板中读取文件

java - 为什么 StandardOpenOption.CREATE_NEW 不创建要在 Java 中读取的文件?

php - 我们如何从文件中获取文本(逐字)到 PHP 中的二维数组中?