python 复制一个文件到另外一个路径

在 Python 中,可以通过多种方式将文件复制到另一个路径。常用的方法包括使用标准库中的 `shutil` 模块,该模块提供了高层次的文件操作接口,支持复制、移动、重命名等操作。 ### 使用 `shutil.copy()` 复制文件 `shutil.copy(src, dst)` 函数用于将源文件 `src` 复制到目标路径 `dst`。如果目标路径是一个已存在的目录,文件将被复制到该目录中并保留原文件名。若目标路径是一个文件名,则文件将被复制并重命名为该文件名。 示例代码如下: ```python import shutil # 源文件路径 source_file = 'path/to/source/file.txt' # 目标路径(可以是目录或完整的目标文件路径) destination_path = 'path/to/destination/' # 复制文件 shutil.copy(source_file, destination_path) ``` 该方法会保留源文件的权限信息,但不会保留其他元数据(如修改时间)[^1]。 ### 使用 `shutil.copy2()` 保留文件元数据 如果希望在复制文件的同时保留文件的元数据(如访问和修改时间),可以使用 `shutil.copy2()` 函数。其语法与 `shutil.copy()` 类似,但更适合用于需要保留文件属性的场景。 ```python import shutil source_file = 'path/to/source/file.txt' destination_path = 'path/to/destination/' # 使用 copy2 保留元数据 shutil.copy2(source_file, destination_path) ``` ### 复制整个目录 若需要复制整个目录及其内容,可以使用 `shutil.copytree()`。此函数会递归复制源目录下的所有子目录和文件到目标目录。目标目录不能事先存在。 ```python import shutil source_dir = 'path/to/source_directory' destination_dir = 'path/to/destination_directory' # 递归复制整个目录 shutil.copytree(source_dir, destination_dir) ``` ### 使用 `os` 模块进行低层次复制 除了 `shutil`,也可以使用 `os` 模块结合文件读写操作实现文件复制,但这种方式较为复杂且不推荐,除非有特殊需求。 ###

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考