📜  shutil 移动文件 - Python (1)

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

以shutil移动文件 - Python

Python的shutil模块是Python标准库中的一个功能丰富的模块。它提供了许多用于执行常见文件和目录管理任务的函数,包括复制、移动、重命名和删除文件和目录。

移动文件

使用shutil模块移动文件非常简单。使用shutil的move()函数可以轻松地将文件从一个地方复制到另一个地方。以下是如何使用shutil移动文件的示例代码:

import shutil

# 移动文件
src = "/path/to/file.txt"
dst = "/new/path/to/file.txt"
shutil.move(src, dst)

在上面的代码中,变量src是要移动的文件的路径,变量dst是移动后文件的目标路径。将这两个变量传递给shutil.move()函数即可完成移动操作。

如果目标位置已经存在同名文件,shutil.move()将替换该文件,而不会提示用户进行任何确认。如果您需要确认是否替换文件,请使用shutil.move()copy_function参数指定一个自定义的复制函数来覆盖默认的复制行为。

以下是一个示例代码,演示shutil.move()的工作原理:

import shutil

# 移动文件
src = "/path/to/file.txt"
dst = "/new/path/to/file.txt"
shutil.move(src, dst)

# 移动文件(覆盖已有文件)
src = "/path/to/file.txt"
dst = "/new/path/to/file.txt"
shutil.move(src, dst)

# 移动文件(替换已有文件时要求用户确认)
def my_copy_function(src, dst):
    print(f"将要复制文件 {src} 到 {dst},是否要继续?")
    choice = input("请输入 Y(继续)或 N(取消):")
    if choice == "Y":
        shutil.copyfile(src, dst)
    else:
        print("操作被取消。")

src = "/path/to/file.txt"
dst = "/new/path/to/file.txt"
shutil.move(src, dst, copy_function=my_copy_function)

在上面的代码中,我们一共演示了三个例子。第一个例子演示了如何移动一个文件。第二个例子演示了如何以强制覆盖模式移动一个文件,即使目标位置已经有同名文件存在。第三个例子演示了如何使用自定义的复制函数来覆盖默认的复制行为,以让用户确认是否要覆盖已有文件。

通过使用shutil模块,您可以轻松地执行各种文件和目录管理任务,像移动文件一样简单。