欧美国产高清污视频在线观看-欧美久久综合九色综合-国产黄色自拍网站在线-国产三级精品三级在专区精-97中文字幕一区二区-大吊操白虎学生妹逼-精品久久久久亚洲综合网-青青草原国产av一区欧美-国产在线一区二区三区在线

python不同大小文件的復(fù)制方法

Python是一種解釋型語言,不同大小文件的復(fù)制方法在Python中也有所不同 。對于小文件,可以使用Python自帶的shutil庫的copy()方法或者OS庫的命令行方法實現(xiàn)復(fù)制 。但對于大文件,則需要分塊讀取和寫入 。在本文中,將從多個角度分析Python不同大小文件的復(fù)制方法 。首先,對于小文件,可以簡單地使用shutil庫的copy()方法或者OS庫的命令行方法實現(xiàn)復(fù)制 。shutil庫是Python自帶的一種高級的文件操作模塊,copy()方法可以直接復(fù)制源文件到目標(biāo)文件,如下所示:
import shutil

python不同大小文件的復(fù)制方法


shutil.copy('source_file_path', 'target_file_path')
當(dāng)然,也可以使用OS庫的命令行方法實現(xiàn)復(fù)制,如將源文件復(fù)制到目標(biāo)文件夾的命令行如下:
import os
【python不同大小文件的復(fù)制方法】os.system('cp source_file_path target_file_path')
但是,對于大文件,上述方法并不適用 , 會出現(xiàn)內(nèi)存崩潰的情況 。因此,需要分塊讀取和分塊寫入,即將源文件分成多塊,逐塊讀取并寫入到目標(biāo)文件中 。實現(xiàn)方法如下:
def copy_large_file(src_file, dst_file):
with open(src_file, 'rb') as fsrc:
with open(dst_file, 'wb') as fdst:
while True:
block = fsrc.read(4096)
if block:
fdst.write(block)
else:
break
另外,為了更好地顯示復(fù)制進(jìn)度 , 可以使用tqdm庫實現(xiàn),如下所示:
from tqdm import tqdm
def copy_large_file_with_progress(src_file, dst_file):
with open(src_file, 'rb') as fsrc:
with open(dst_file, 'wb') as fdst:
for block in tqdm(iterable=fsrc.read(4096),desc='Copying', unit='kB'):
fdst.write(block)
以上就是Python不同大小文件的復(fù)制方法,根據(jù)文件大小的不同 , 選擇合適的方法進(jìn)行文件復(fù)制即可 。

    猜你喜歡