Python 教學:如何使用 Python 分割和合併大檔案?
有時候,我們需要把一個大文件發送給別人,但是限於傳輸通道的限制,比如郵箱附件大小的限制,或者網絡狀況不太好,需要將大文件分割成小文件,分多次發送,接收端再對這些小文件進行合併。今天就來分享一下用 Python 分割合併大檔案的方法。
想法及實現
如果是文字文件,可以依行數分割。無論是文字文件還是二進位文件,都可以依指定大小進行分割。
使用Python 的文件讀寫功能就可以實現文件的分割與合併,設定每個文件的大小,然後讀取指定大小的字節就寫入一個新文件,接收端依次讀取小文件,把讀取到的位元組依序寫入一個文件,就可以完成合併。
分割
size = 1024 * 1000 * 10# 10MB with open("bigfile", "rb") as reader: part = 1 while True: part_content = reader.read(size) if not part_content: print("split done.") break with open(f"bigfile_part{part}","wb") as writer: writer.write(part_content)
#合併
total_parts = 5 with open("bigfile","wb") as writer: for i in range(5): with open(f"bigfile_part{i}", "rb") as reader: writer.write(reader.read())
使用第三方函式庫
雖然可以自己寫,但是別人寫好了,為什麼不省點時間直接用呢?直接pip 安裝就可以了:
pip install filesplit
分割
from filesplit.split import Split split = Split("./data.rar", "./output") split.bysize(size = 1024*1000*10) # 每个文件最多 10MB
執行之後,我們就可以在output 資料夾裡看到分割好的檔案:
你也可以依照檔案行數分割:
split.bylinecount(linecount = 10000) # 每个文件最多 10000 行
#合併
合併需要對資料夾裡的小文件進行合併,工具要求資料夾內必須有manifest 文件,其格式如下:
filename,filesize,header data_1.rar,10000000,False data_2.rar,10000000,False data_3.rar,10000000,False data_4.rar,10000000,False data_5.rar,1304145,False
合併文件的程式碼只需要指定要合併的目錄,目標目錄,合併後的檔案名,程式碼如下:
from filesplit.merge import Merge merge = Merge(inputdir = "./output", outputdir="./merge", outputfilename = "merged.rar") merge.merge()
執行之後就可以在merge 目錄內看到合併後的檔案:
以上是Python 教學:如何使用 Python 分割和合併大檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

區塊鏈技術持續改變著人們在線上交換價值、驗證信息和建立信任的方式。隨著去中心化應用在各行各業的蓬勃發展,跨多個區塊鏈確認聲明和身份的能力變得越來越重要,也越來越複雜。傳統的、依賴於中心化權威的信任模型往往不足以支撐去中心化的生態系統,因此對區塊鏈原生驗證解決方案的需求也日益增長。 SignProtocol(SIGN)通過提供一個用於跨多個區塊鍊網絡創建、驗證和管理證明的框架來應對這一挑戰。 SignProtocol旨在打造一個全鏈

申請火必API接口需六步:1.註冊火必賬戶並選擇“全球站”;2.完成實名認證(L1/L2/L3);3.登錄並進入API管理頁面;4.創建API密鑰,填寫基本信息並選擇權限;5.生成並保存Access Key和Secret Key;6.集成API至應用,注意安全事項並定期更換密鑰。

在VSCode中編寫JavaScript代碼的最佳實踐包括:1)安裝Prettier、ESLint和JavaScript(ES6)codesnippets擴展,2)配置launch.json文件進行調試,3)使用現代JavaScript特性和優化循環來提高性能。通過這些設置和技巧,你可以在VSCode中更高效地開發JavaScript代碼。

Zora最初是一個基於以太坊的NFT平台,允許用戶購買、出售和創建NFT收藏品,無需支付交易費。隨著不斷發展,該專案已經向社交平台轉型,並透過讓任何人都可以輕鬆地將其內容轉化為可交易的貨幣來繼續增強創造力。由於Base迷因幣事件,Zora引起了市場關注。另外,該網絡宣佈於4月23日進行ZORA代幣空投,並在同一日於幣安Alpha平台上線,標誌著Zora發展的重要里程碑。那麼,Zora(ZORA)加密貨

在VSCode中可以使用Git進行代碼版本回退。 1.使用gitreset--hardHEAD~1回退到上一個版本。 2.使用gitreset--hard回退到特定提交。 3.使用gitrevert安全回退而不改變歷史記錄。

VBILL代幣基金於5月13日推出,為機構投資者提供了代幣化的美國財政賬單的機會。 Vaneck的新型標記基金將使機構投資者能夠投資美國國庫賬單。 VBILL代幣基金於5月13日啟動,是與Securitize合作的結果,Securitize是支持該基金全部運營的令牌化平台。該基金將在四個主要區塊鏈上進行訂閱-以太坊,索拉納,雪崩和BNB鏈。在其中三個區塊鏈(雪崩,Solana和BNB鏈)上,最低訂閱額為100,000美元。而在以太坊上,最低投資額為100萬美元。該基金是Vaneck努力擴大其在現實世

在VSCode中查看Git歷史記錄和更改的方法包括:1.打開VSCode,確保項目已初始化Git倉庫。 2.點擊左側邊欄“源代碼管理”圖標。 3.選擇“...(更多選項)”並點擊“Git:ShowGitOutput”。 4.查看提交歷史和文件更改。 5.右鍵文件選擇“Git:ShowFileHistory”查看文件更改歷史。通過這些步驟,你可以在VSCode中高效地查看Git歷史記錄和更改,提升開發效率。

在VSCode中配置Ruby開發環境需要以下步驟:1.安裝Ruby:從官方網站或使用RubyInstaller下載並安裝。 2.安裝插件:在VSCode中安裝CodeRunner和Ruby插件。 3.設置調試環境:安裝DebuggerforRuby插件,並在.vscode文件夾下創建launch.json文件進行配置。這樣,你就可以在VSCode中高效地編寫、運行和調試Ruby代碼。
