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

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

WBOY
Lepaskan: 2023-04-22 11:43:08
ke hadapan
2018 orang telah melayarinya

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)
Salin selepas log masuk

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())
Salin selepas log masuk

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
Salin selepas log masuk

Split

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

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

< . fail dalam folder, alat ini memerlukan mesti ada fail manifes dalam folder Formatnya adalah seperti berikut:

一文教会你如何用 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 行
Salin selepas log masuk
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
Salin selepas log masuk

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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan