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/8858008/

相关文章:

python - 如何在包含 ':' 的 KML 树中查找元素

python - 为什么要在 bash 脚本中嵌入 repo 命令?

java - 创建新的 File 实例是否会导致创建空文件?

C++ ofstream 不在程序的后续运行中创建和写入文件

c - 尝试直接通过 STDIN 传递 sudo 密码

python - 将高分文件检索到 PyInstaller 创建的 .exe

python - 如何在 pandas 中按列名称连接列?

file - 加载文件到远程hadoop分布式文件系统

java - 将编码对象写入文件

python - 使用python处理和创建外部软件的输入文件