📌  相关文章
📜  Python – 移动和覆盖文件和文件夹(1)

📅  最后修改于: 2023-12-03 15:04:13.283000             🧑  作者: Mango

Python - 移动和覆盖文件和文件夹

在Python中,我们可以使用shutil模块移动和覆盖文件和文件夹。shutil模块是一个高级工具,用于文件和文件夹操作。

移动文件和文件夹

要移动文件夹或文件,我们可以使用move()函数。它接受两个参数 - 源路径和目标路径。

import shutil

# 移动文件
src = "/path/to/source/file.txt"
dst = "/path/to/destination/file.txt"

shutil.move(src, dst)

# 移动文件夹
src = "/path/to/source/folder"
dst = "/path/to/destination/folder"

shutil.move(src, dst)
覆盖文件和文件夹

如果目标文件或文件夹已经存在,则默认情况下会引发Error。我们可以使用copy2()函数覆盖目标文件。

import shutil

# 覆盖文件
src = "/path/to/source/file.txt"
dst = "/path/to/destination/file.txt"

shutil.copy2(src, dst)

# 覆盖文件夹
src = "/path/to/source/folder"
dst = "/path/to/destination/folder"

shutil.copytree(src, dst)

注意:这将替换目标文件夹中的所有文件。如果您只想替换其中的一些文件,则需要手动复制并替换这些文件。

移动文件夹并保留元数据

有时我们需要保留文件夹元数据(权限、所有者等)。我们可以使用shutil模块中的move()函数。

import shutil

# 移动文件夹
src = "/path/to/source/folder"
dst = "/path/to/destination/folder"

# 保留元数据
shutil.move(src, dst, copy_function=shutil.copy2)
结论

在Python中,使用shutil模块可以轻松地移动和覆盖文件和文件夹。此外,我们可以使用move()函数来保留文件夹元数据。