详解Python 移动或复制文件和目录

  • Post category:Python

Python 可以通过 shutil 模块来实现文件和目录的移动和复制操作。下面是详细的攻略,包括实现方法以及示例说明。

移动文件

移动文件可以使用 shutil.move() 方法,其语法为:

import shutil

shutil.move(src, dst)

其中,src 是源文件的路径,dst 是目标路径。如果 dst 是一个目录路径,则会将 src 移动到该目录下,文件名不变;如果 dst 是一个文件路径,则将 src 移动到该路径,并以 dst 的文件名命名。

例如,将文件 example.txt 从当前目录移动到 ./data/ 目录下:

import shutil

shutil.move('example.txt', './data/')

复制文件

复制文件可以使用 shutil.copy()shutil.copy2() 方法,其语法分别为:

import shutil

shutil.copy(src, dst)
shutil.copy2(src, dst)

两种方法的区别在于,shutil.copy2() 会复制源文件附带的元数据信息(例如修改时间和权限等),而 shutil.copy() 不会。

例如,将文件 example.txt 从当前目录复制到 ./backup/ 目录下:

import shutil

shutil.copy('example.txt', './backup/')

移动目录

移动目录可以使用 shutil.move() 方法。与移动文件类似,如果目标路径是一个已存在的目录,则会将源目录移动到该目录下;如果目标路径是一个不存在的目录,则会将源目录重命名为该路径,并移动到其父目录下。

例如,将目录 ./data/ 移动到 ./backup/ 目录下:

import shutil

shutil.move('./data/', './backup/')

复制目录

复制目录可以使用 shutil.copytree() 方法,其语法为:

import shutil

shutil.copytree(src, dst)

其中,src 是源目录,dst 是目标路径。该方法会将 src 目录及其子目录和文件复制到 dst 目录中。

例如,将目录 ./data/ 复制到 ./backup/ 目录下:

import shutil

shutil.copytree('./data/', './backup/data/')

以上就是 Python 中移动或复制文件和目录的攻略,如果有更多需求可以查看 shutil 文档 以获得更多方法和选项。