📅  最后修改于: 2023-12-03 15:04:13.283000             🧑  作者: Mango
在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()
函数来保留文件夹元数据。