本文介绍如何使用 python 对文件/文件夹进行拷贝。
Last Modified: 2022 / 7 / 3
可行库
用于拷贝文件可行的几种第三方库
库名 | 说明 |
---|
os | | shutil | 提供了几个高级函数来支持文件的复制和删除。 | pathlib | 从 Python 3.4 开始,您可以使用 pathlib 模块,它提供表示面向对象的文件系统路径的类。
它有 Path.write_bytes() 函数,它以字节模式打开指向的文件,向其中写入数据,然后关闭文件。此处不会发生文件元数据的交换。
如果文件已存在于目标位置,这将覆盖该文件。 |
拷贝
open
实例可参考此处
src = 'A.py'
dst = 'B.py'
with open(src, 'r') as f:
data = f.read()
with open(dst, 'w') as f:
f.write(data)
os
实例可参考此处
os.system('cp A.py Folder/B.py')
shutil
实例可参考此处 ’
库名 | 说明 |
---|
copy2 | 如果 dst 是一个文件名,src 内容和文件元数据被复制; 如果 dst 是现有文件,它将被 src 文件替换。 如果 dst 指定一个目录,我们将复制 src 文件到目录 dst 。如果目标位置中已存在同名文件,它将被覆盖。
copy2 可以接受目标目录路径并复制文件元数据。 copy() 同 copy2 功能等同,但其无法保留元数据。 | copyfile | 如果 dst 是一个文件名,src 内容会被复制但元数据则不会被复制。 如果 dst 是现有文件,它将被 src 文件替换。 |
copy2
src = 'A.py'
dst = 'Folder'
shutil.copy2(src=src, dst=dst)
copyfile
src = 'A.py'
dst = 'Folder/B.py'
shutil.copyfile(src=src, dst=dst)
pathlib
实例可参考此处
write_bytes
src = pathlib.Path('A.py')
dst = pathlib.Path('Folder/B.py')
dst.write_bytes(src.read_bytes())
参考链接
%todo: 用Python复制文件的九种方法
|