Python 中如何复制文件?

Python copy 文件

如何在 Python 中复制文件?本文主要和大家分享几种常见的在python中复制拷贝文件的方法

FunctionCopies
metadata
Copies
permissions
Uses file objectDestination
may be directory
shutil.copyNoYesNoYes
shutil.copyfileNoNoNoNo
shutil.copy2YesYesNoYes
shutil.copyfileobjNoNoYesNo
shutil 几种拷贝方法比较

shutil.copyfile

import shutil

shutil.copyfile(src, dst)Code language: JavaScript (javascript)

shutil.copy

shutil.copy(src, dst) , dst 可以是目录

shutil.copy('source.txt', 'destination.txt')Code language: JavaScript (javascript)

shutil.copy2() 可以保留 timestamp 信息
src和dst都需要是整文件名,包括路径。

目标位置必须是可写的;否则将引发IOError异常
如果dst已经存在,它将被替换。
注意无法复制字符或块设备和管道等特殊文件。

import shutil
shutil.copy2('/src/dir/file.ext', '/dst/dir/newname.ext') 
shutil.copy2('/src/file.ext', '/dst/dir') Code language: JavaScript (javascript)

shutil.copyfileobj

shutil.copyfileobj(src_file_object, dest_file_object[, length])Code language: CSS (css)
file_src = 'source.txt'  
f_src = open(file_src, 'rb')

file_dest = 'destination.txt'  
f_dest = open(file_dest, 'wb')

shutil.copyfileobj(f_src, f_dest) Code language: JavaScript (javascript)

使用os模块的方法

os.popen

Linux/Unix 下

os.popen('cp source.txt destination.txt') Code language: JavaScript (javascript)

Windows

os.popen('copy source.txt destination.txt')Code language: JavaScript (javascript)

os.system(command)

Linux/Unix
os.system('cp source.txt destination.txt')

Windows

os.system('copy source.txt destination.txt')Code language: JavaScript (javascript)

使用subprocess3)模块复制文件

subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)Code language: PHP (php)

Linux/Unix

status = subprocess.call('cp source.txt destination.txt', shell=True) Code language: PHP (php)

Windows

status = subprocess.call('copy source.txt destination.txt', shell=True)Code language: PHP (php)

发表评论