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

shutil.copy('source_file_path', 'target_file_path')
當然,也可以使用OS庫的命令行方法實現復制,如將源文件復制到目標文件夾的命令行如下:
import os
【python不同大小文件的復制方法】os.system('cp source_file_path target_file_path')
但是,對于大文件,上述方法并不適用 , 會出現內存崩潰的情況 。因此,需要分塊讀取和分塊寫入,即將源文件分成多塊,逐塊讀取并寫入到目標文件中 。實現方法如下:
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
另外,為了更好地顯示復制進度 , 可以使用tqdm庫實現,如下所示:
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不同大小文件的復制方法,根據文件大小的不同 , 選擇合適的方法進行文件復制即可 。
猜你喜歡
- python打印文件?
- axure怎么設置選擇顯示不同的內容?
- python搜索文件夾并拷貝指定文件?
- python中if有兩個條件?
- python的編碼格式怎么變成utf8?
- encoding與decode、str與bytes 詳解Python中的編碼問題
- python畫圖圖形中文無法顯示?
- 怎樣修改照片kb大小?
- 最短路徑python?
- python怎么鏈接數據庫
