


Bagaimana untuk membaca (atau menulis) data binari dalam Python?
Untuk membaca atau menulis fail binari, mula-mula anda perlu memahami mod fail fail binari yang berbeza dalam Python -
Mod | Penerangan |
---|---|
rb | Buka fail dalam format binari baca sahaja. Penunjuk fail berada di permulaan fail. Ini ialah mod lalai. |
rb+ | Buka fail dalam format binari untuk membaca dan menulis. Penunjuk fail diletakkan pada permulaan fail. |
wb | Buka fail yang ditulis dalam format binari sahaja. Menimpa fail jika ia wujud. Jika fail itu tidak wujud, fail baharu dicipta untuk menulis. |
wb+ | Buka fail dalam format binari untuk menulis dan membaca. Jika fail wujud, fail sedia ada akan ditimpa. Jika fail itu tidak wujud, fail baharu dicipta untuk membaca dan menulis. |
ab | Buka fail untuk ditambahkan dalam format binari. Jika fail wujud, penuding fail berada di hujung fail. Iaitu, fail berada dalam mod tambah. Jika fail itu tidak wujud, fail baharu dicipta untuk menulis. |
ab+ | Buka fail untuk ditambahkan dan dibaca dalam format binari. Jika fail wujud, penuding fail berada di hujung fail. Fail dibuka dalam mod tambah. Jika fail itu tidak wujud, fail baharu dicipta untuk membaca dan menulis. |
Baca fail binari
Andaikan kita mempunyai fail binari. Kita boleh membacanya menggunakan kaedah read(). Pertama, kami akan membuka fail binari menggunakan mod rb kaedah open(). Kami mempunyai fail sumber berikut dalam pemacu D: -
Contoh
Jom lihat kod lengkap
# Open a binary file f = open('D:\PythonLogo.png', 'rb') # Read lines data = f.read() # Display the data print(data)
Output
Fail binari tidak boleh dibaca dan kandungannya tidak dikenali. Keluaran sebenar lebih besar. Di bawah kami hanya menunjukkan sebahagian daripadanya.
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x04\xb0\x00\x00\x04\xb0\x08\x06\x00\x00\x00 \xeb!\xb3\xcf\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00 cHRM\x00\x00z&\x00\x00\x80\x84\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\x0 0\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x 93\x00\x00\x00\x07tIME\x07\xe1\x08\n\x07\x16\x07\xc9\xb2\xff\xd3\x00\x00\x80\x00IDATx\xda\ xec\x9dw\xbc]e\x95\xf7\x7f\xcf>\xe7\xa6\x91@\xe8\xc5\x02\xa2\x88\x14q0B\x12\xc0\x99\x00!\x 88(\x02\x9a\x8c\x85"\xea\x80b\xc5\x02\xa1\xf8z\xa78\x8aJ\x13EeF\x1d\xdb\x94\x80@\x08\xea\x a0\x8c\xe0\x0c\x98\x10`\x94\x92\xd0D@,#\x88\xd4\x90r\xef\xd9\xeb\xfd#\x01\x02i\xe7\x9e\xb3 \xcb\xf3\xac\xfd\xfd~>\xef; . . . \xcdn\xd2d\xb1Q\xdf\xfa\xe9\x8d|\x8f\x14\x00\x00\x00\xb4\t\x02\x0b\x00\x00\x00\xe0Q\x98\xa 9\xd0\xd5\xc7\x1c$Izp\xee>\x9a\xd8\xfa\x98\x1d\xffdr\x7f\x153\x8f\xfa\xf8\xa3\xcdQJ\x07\xec\x e5\xc8\xf5X\x95\x96\x1eu\n\xdb\xac\xa4- {\xf9{\xdbe\xf6\xc0#\xfe\xa7\t\xdd\xaf\xed\x9a\xd9\xd1\xf5\xe4\x83\xdawf\xc7w>m\xdb\xbc5- X\xff \xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd02\xff?\xca\x9f\x86X\x17m\x83=\ x00\x00\x00%tEXtdate:create\x002017-08- 10T07:22:07+00:00u\xea\xe6c\x00\x00\x00%tEXtdate:modify\x002017-08- 10T07:22:07+00:00\x04\xb7^\xdf\x00\x00\x00\x00IEND\xaeB`\x82'
Tulis ke fail binari
Modwb kaedah open() digunakan untuk membuka fail dalam format penulisan.
Perhatian - Fail binari tidak boleh dibaca dan kandungannya tidak dikenali
Mari kita lihat contoh lengkapnya. Di sini, fail akan disimpan dalam E drive dengan nama
Contoh
MyDemoBinary.bin -
# Open a file in binary format for writing f = open("E:\MyDemoBinary.bin","wb") # Elements to be added to the binary file a = [100, 200, 300] # Convert the integer elements to a bytearray myArr = bytearray(a) # The byte representation ius now written to the file f.write(myArr) f.close()
Output
Selepas menjalankan fail, fail akan kelihatan dalam laluan yang ditetapkan, iaitu pemacu E -
Atas ialah kandungan terperinci Bagaimana untuk membaca (atau menulis) data binari dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Semasa proses pembangunan menggunakan Golang, kami sering menghadapi beberapa ralat. Salah satu daripadanya ialah "undefined:io.ReadAll", ralat ini kebanyakannya disebabkan oleh menggunakan kaedah yang sudah lapuk. Artikel ini akan menerangkan cara menyelesaikan ralat ini. Mula-mula, mari kita lihat mengapa ralat ini berlaku. Sebelum golang1.15, tiada kaedah ReadAll dalam pakej io. Apabila kami menggunakan kaedah ini, pengkompil akan menggesa "undefined:io.Re

Ini adalah untuk pengguna yang ingin melakukan pengaktifan manual. Jika anda memerlukan bantuan dengan alat untuk anda melakukan ini, kemudian semak di sini. Kita boleh membahagikan proses pengaktifan manual kepada dua bahagian. 1- Daripada fail kumpulan siap sedia pastikan internet didayakan. Buka Windows Powershell sebagai pentadbir dan masukkan yang berikut untuk menyenaraikan arahan dalam susunan yang diberikan. Masukkan kekunci, (gantikan dengan kunci daripada senarai di atas) Gunakan arahan berikut <key>slmgr/ipk<key> Muat turun tiket universal dari sini dan ekstrak fail yang dimuat turun. Sekarang masukkan kod berikut dalam Powershell (Get-ItemProper

Dalam bahasa Go, pakej bait ialah pakej untuk memanipulasi jenis bait, dan ia mengandungi banyak kaedah berguna, seperti kaedah Split(). Walau bagaimanapun, apabila menggunakan kaedah Split(), anda mungkin menghadapi ralat "undefined: bytes.Split". Ralat ini biasanya disebabkan oleh versi Go yang tidak serasi atau kekurangan perpustakaan bergantung yang diperlukan. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan ralat ini. Kaedah 1: Tingkatkan versi Go seperti berikut

Linux io merujuk kepada operasi fail dalam Linux, fail ialah satu siri aliran binari, jadi semasa pertukaran maklumat, kita semua melakukan operasi penghantaran dan penerimaan data pada aliran ini. kerana Linux menggunakan mekanisme memori maya, jadi kernel mesti diminta melalui panggilan sistem untuk menyelesaikan operasi IO.

Concept fio, juga dikenali sebagai FlexibleIOTester, ialah aplikasi yang ditulis oleh JensAxboe. Jens ialah penyelenggara blockIOsubsystem dalam LinuxKernel. FIO ialah alat yang digunakan untuk menguji sistem fail rangkaian dan prestasi cakera Ia sering digunakan untuk mengesahkan model mesin dan membandingkan prestasi sistem fail. Ia secara automatik menghantar arahan fio ke senarai mesin kluster dan mengumpul IOPS untuk fail kecil dan data pemprosesan untuk fail besar. rw=[mode]rwmixwrite=30 Dalam mod baca dan tulis bercampur, menulis akaun untuk 30% baca berurutan baca tulis berurutan tulis baca tulis berurutan bercampur baca dan tulis randwrite tulis rawak r

Gunakan fungsi io/ioutil.WriteFile untuk menulis rentetan pada fail, dan tetapkan kebenaran fail dan format lekukan Dalam bahasa Go, anda boleh menulis rentetan ke fail dengan mudah menggunakan fungsi WriteFile dalam pakej io/ioutil. Pada masa yang sama, kami juga boleh menetapkan kebenaran fail dan format lekukan untuk memenuhi keperluan yang berbeza. Berikut ialah contoh kod yang menunjukkan cara menggunakan fungsi WriteFile untuk menulis ke fail dan menetapkan kebenaran dan format lekukan: packagemainim

Apabila membangun dengan golang, kita sering menghadapi pelbagai masalah dan mesej ralat. Salah satu masalah biasa ialah ralat "undefined:io.TeeReader". Ralat ini biasanya berlaku apabila program disusun, dan kadangkala ia boleh mengecewakan. Artikel ini akan memperkenalkan cara untuk menyelesaikan masalah ini supaya anda dapat menjalankan kerja pembangunan golang dengan lancar. Mula-mula, mari kita lihat apa sebenarnya maksud ralat ini. apabila kita menggunakan

Konsep aliran IO pada mulanya boleh difahami sebagai penghantaran data Kami meletakkan satu set data ke dalam: 1234567 dan memindahkannya dari fail hello ke fail haha Jika anda menggunakan kaedah program untuk memindahkan, anda perlu memindahkannya satu demi satu, maksudnya, ia adalah penghantaran bait demi bait Kami hanya boleh meneruskan atau membaca satu bait pada satu masa. Ini adalah proses umum aliran io jenis fail. Seperti: fail teks, gambar, lagu mp3, video, dsb. Oleh kerana strim io dibaca bait demi bait, kita perlu menggunakan pembolehubah bait tunggal bait untuk mendapatkan panjang. Jika anda mendapat terlalu banyak kandungan, anda perlu menggunakan tatasusunan yang sepadan. Kaedah yang sepadan dengan aliran io perlu ditulis dalam semua kaedah aliran io.
