简述Python如何copy一个文件?
参考答案:
在Python中,有多种方法可以复制文件。以下是其中的两种常见方法:
方法一:使用shutil模块
shutil
模块提供了一个 copy2()
函数,它可以将文件从一个位置复制到另一个位置,同时尽量保留文件的元数据(例如修改时间、访问权限等)。
import shutil
# 源文件路径
src = 'source.txt'
# 目标文件路径
dst = 'destination.txt'
# 使用shutil.copy2复制文件
shutil.copy2(src, dst)
方法二:使用open()函数和文件对象的read()与write()方法
这种方法需要先打开一个源文件,读取其内容,然后再打开一个目标文件,将读取到的内容写入。
# 源文件路径
src = 'source.txt'
# 目标文件路径
dst = 'destination.txt'
# 使用with语句打开源文件和目标文件
with open(src, 'r') as f_src, open(dst, 'w') as f_dst:
# 读取源文件内容并写入目标文件
f_dst.write(f_src.read())
注意:这种方法在复制大文件时可能会消耗较多的内存,因为它需要一次性读取整个文件的内容。相比之下,shutil.copy2()
方法更适合处理大文件,因为它可以分块读取和写入文件,从而减少了内存的使用。
另外,这两种方法都不会复制文件的元数据(如修改时间、访问权限等)。如果你需要复制这些元数据,那么你应该使用 shutil.copy2()
方法。