Python shutil.move函数用法介绍

1. 概述
在Python中,shutil模块为我们提供了一些用于文件操作的函数,其中之一就是shutil.move()函数。本文将详细介绍shutil.move()函数的用法和注意事项。
shutil.move(src, dst, copy_function=copy2)函数用于移动文件或文件夹,将源文件或文件夹从一个位置移动到另一个位置。该函数支持跨文件系统的移动操作,同时可以在不同文件系统之间复制和移动文件。
2. 函数参数
shutil.move()函数接受三个参数:
src:源文件或文件夹的路径。dst:目标位置的路径。copy_function:可选参数,用于指定复制文件的函数,默认为shutil.copy2()函数。
3. 示例代码
下面我们通过一些示例代码来演示shutil.move()函数的用法。
3.1 移动文件
首先,我们尝试移动一个文件到指定位置。假设我们有一个文件example.txt,它的路径为/path/to/example.txt,我们希望将它移动到/new/path/目录下。
import shutil
src = '/path/to/example.txt'
dst = '/new/path/example.txt'
shutil.move(src, dst)
运行以上代码后,example.txt将会被移动到/new/path/目录下。
3.2 移动文件夹
除了移动文件,shutil.move()函数也可以移动文件夹。假设我们有一个文件夹folder,它的路径为/path/to/folder,我们希望将它移动到/new/path/目录下。
import shutil
src = '/path/to/folder'
dst = '/new/path/folder'
shutil.move(src, dst)
运行以上代码后,整个文件夹folder将会被移动到/new/path/目录下。
3.3 覆盖已存在的文件
如果目标位置已经存在同名的文件或文件夹,shutil.move()函数默认会抛出FileExistsError异常。如果想要覆盖已存在的文件,可以使用shutil.move()函数的另一个参数exist_ok=True。
import shutil
src = '/path/to/example.txt'
dst = '/new/path/example.txt'
shutil.move(src, dst, exist_ok=True)
运行以上代码后,如果/new/path/example.txt已经存在,将会被覆盖。
4. 注意事项
在使用shutil.move()函数时,需要注意以下几点:
src和dst可以是文件的路径,也可以是文件夹的路径。- 如果目标位置已经存在同名的文件或文件夹,默认情况下会抛出
FileExistsError异常。 - 如果想要覆盖已存在的文件或文件夹,可以使用
exist_ok=True参数。 shutil.move()函数支持跨文件系统的移动操作。- 如果源文件和目标文件在同一个文件系统下,
shutil.move()函数执行的是原子操作,即要么移动成功,要么失败,不存在部分成功的情况。
5. 结论
通过本文的介绍,我们了解了shutil.move()函数的用法和注意事项。该函数可以方便地移动文件和文件夹,支持跨文件系统的移动操作,并且可以灵活控制在目标位置已存在同名文件或文件夹时的处理方式。在实际的文件操作中,shutil.move()函数是一个非常有用的工具。
极客教程