Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tutorial Python: Bagaimana untuk memisahkan dan menggabungkan fail besar menggunakan Python?

Tutorial Python: Bagaimana untuk memisahkan dan menggabungkan fail besar menggunakan Python?

WBOY
WBOYke hadapan
2023-04-22 11:43:081905semak imbas

Kadangkala, kita perlu menghantar fail yang besar kepada orang lain, tetapi disebabkan keterbatasan saluran penghantaran, seperti had saiz lampiran e-mel, atau keadaan rangkaian tidak begitu baik, kita perlu membahagikan yang besar fail ke dalam fail kecil dan hantar beberapa kali , hujung penerima kemudian menggabungkan fail kecil ini. Hari ini saya akan berkongsi bagaimana untuk memisahkan dan menggabungkan fail besar menggunakan Python.

Idea dan pelaksanaan

Jika ia adalah fail teks, ia boleh dibahagikan dengan bilangan baris. Sama ada ia adalah fail teks atau fail binari, ia boleh dibahagikan mengikut saiz yang ditentukan.

Menggunakan fungsi membaca dan menulis fail Python, anda boleh memisahkan dan menggabungkan fail, menetapkan saiz setiap fail, kemudian membaca bait saiz yang ditentukan dan menulisnya ke dalam fail baharu, dan hujung penerima membaca yang kecil yang dalam urutan Fail, tulis bait baca ke dalam fail mengikut urutan, dan kemudian cantuman boleh diselesaikan.

Pisah

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)

Gabung

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())

Gunakan perpustakaan pihak ketiga

Walaupun ada kemungkinan Tulis sendiri, tetapi orang lain telah menulisnya, mengapa tidak jimatkan sedikit masa dan gunakannya secara langsung? Hanya pasang terus dengan pip:

pip install filesplit

Split

from filesplit.split import Split
split = Split("./data.rar", "./output")
split.bysize(size = 1024*1000*10) # 每个文件最多 10MB

Selepas pelaksanaan, kita boleh melihat fail split dalam folder output:

一文教会你如何用 Python 分割合并大文件Kod untuk menggabungkan fail hanya perlu menentukan direktori yang hendak digabungkan dan. direktori sasaran. Selepas menggabungkan Nama fail, kodnya adalah seperti berikut:

split.bylinecount(linecount = 10000) # 每个文件最多 10000 行
Selepas pelaksanaan, anda boleh melihat fail yang digabungkan dalam direktori gabungan:

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

Atas ialah kandungan terperinci Tutorial Python: Bagaimana untuk memisahkan dan menggabungkan fail besar menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam