Để đọc hoặc ghi tệp nhị phân, trước tiên, bạn cần hiểu các chế độ tệp khác nhau cho Tệp nhị phân trong Python −
ModeDescriptionrbMở một tệp chỉ để đọc ở định dạng nhị phân. Con trỏ tệp được đặt ở đầu tệp. Đây là chế độ mặc định. rb+Mở tệp cho cả đọc và ghi ở định dạng nhị phân. Con trỏ tệp đặt ở đầu tệp. wbMở một tệp chỉ để ghi ở định dạng nhị phân. Ghi đè tệp nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để ghi. wb+Mở tệp cho cả ghi và đọc ở định dạng nhị phân. Ghi đè lên tệp hiện có nếu tệp tồn tại. Nếu tệp không tồn tại, hãy tạo một tệp mới để đọc và ghi. abMở tệp để nối thêm ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tức là tệp đang ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để ghi. ab+Mở tệp cho cả việc nối thêm và đọc ở định dạng nhị phân. Con trỏ tệp ở cuối tệp nếu tệp tồn tại. Tệp mở ở chế độ chắp thêm. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới để đọc và ghiĐọc một tập tin nhị phân
Giả sử chúng ta có một tệp nhị phân. Chúng ta có thể đọc nó bằng phương thức read[]. Đầu tiên, chúng ta sẽ mở Tệp nhị phân bằng chế độ rb của phương thức open[]. Chúng tôi có tệp nguồn sau trong D. ổ đĩa -
Ví dụ
Hãy xem mã hoàn chỉnh
đầu ra
Tệp nhị phân không thể đọc được và nội dung không thể nhận dạng được. Sản lượng thực tế lớn hơn. Chúng tôi chỉ hiển thị một số phần bên dưới
Tệp nhị phân là tệp không phải là tệp văn bản bình thường. Ví dụ. Một tập tin hình ảnh. Các tệp này cũng được lưu trữ dưới dạng một chuỗi byte trong đĩa cứng máy tính. Các loại tệp nhị phân này không thể được mở ở chế độ bình thường và đọc dưới dạng văn bản
Bạn có thể đọc tệp nhị phân bằng cách mở tệp ở chế độ nhị phân bằng cách sử dụng
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
9Khi làm việc với các vấn đề như phân loại hình ảnh trong Machine learning, bạn có thể cần mở tệp ở chế độ nhị phân và đọc byte để tạo mô hình ML. Trong tình huống này, bạn có thể mở tệp ở chế độ nhị phân và đọc tệp dưới dạng byte. Trong trường hợp này, việc giải mã byte thành các ký tự liên quan sẽ không được thực hiện. Mặt khác, khi bạn mở một tệp bình thường ở chế độ đọc thông thường, các byte sẽ được giải mã thành chuỗi hoặc các ký tự liên quan khác dựa trên mã hóa tệp
Nếu bạn vội vàng
Bạn có thể mở tệp bằng phương thức
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
0 bằng cách chuyển tham số b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
1 để mở tệp ở chế độ nhị phân và đọc byte của tệp b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
2 mở tệp nhị phân ở chế độ đọc b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
3– Để chỉ định mở tệp ở chế độ đọcb – Để chỉ định đó là tệp nhị phân. Sẽ không có nỗ lực giải mã byte thành chuỗi nào
Ví dụ
Ví dụ dưới đây đọc tệp một byte tại một thời điểm và in byte
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
Nếu bạn muốn hiểu chi tiết, hãy đọc tiếp…
Trong hướng dẫn này, bạn sẽ học cách đọc tệp nhị phân theo nhiều cách khác nhau
Mục lục
Đọc tệp nhị phân theo từng byte
Trong phần này, bạn sẽ học cách đọc từng byte tệp nhị phân và in nó. Đây là một trong những cách nhanh nhất để đọc tệp nhị phân
Tệp được mở bằng phương pháp
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
0 và chế độ được đề cập là “rb” có nghĩa là mở tệp ở chế độ đọc và biểu thị đó là tệp nhị phân. Trong trường hợp này, việc giải mã byte thành chuỗi sẽ không được thực hiện. Nó sẽ chỉ được đọc dưới dạng byteVí dụ dưới đây cho thấy cách tệp được đọc từng byte bằng cách sử dụng phương thức
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
5Giá trị tham số 1 đảm bảo một byte được đọc trong mỗi lần gọi phương thức
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
6Ví dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
đầu ra
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
Python đọc tệp nhị phân thành mảng byte
Trong phần này, bạn sẽ học cách đọc các tệp nhị phân thành một mảng byte
Đầu tiên, tệp được mở ở chế độ “
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
7“Một mảng byte có tên là
b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
8 được khởi tạo bằng phương thức b'\xd8'
b'\xff'
b'\xe0'
b'\x00'
b'\x10'
b'J'
b'F'
b'I'
b'F'
b'\x00'
b'\x01'
b'\x01'
b'\x00'
b'\x00'
b'\x01'
b'\x00'
b'\x01'
b'\x00'
b'\x00'
b'\xff'
b'\xed'
b'\x00'
b'|'
b'P'
b'h'
b'o'
b't'
b'o'
b's'
b'h'
b'o'
b'p'
b' '
b'3'
b'.'
b'0'
b'\xc6'
b'\xb3'
b'\xff'
b'\xd9'
b''
9Sau đó, tệp được đọc từng byte một bằng cách sử dụng
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
0 và nối vào mảng byte bằng cách sử dụng toán tử try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
1. Mỗi byte được thêm vào try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
2Cuối cùng, bạn có thể in
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
2 để hiển thị các byte được đọcVí dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
đầu ra
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
Python đọc tệp nhị phân thành mảng có nhiều mảng
Trong phần này, bạn sẽ học cách đọc tệp nhị phân thành một mảng NumPy
Đầu tiên,
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
4 để nhập thư viện try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
5Sau đó chỉ định kiểu dữ liệu là
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
6 cho đối tượng try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
7 bằng cách sử dụng try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
8Tiếp theo, mở tệp nhị phân ở chế độ đọc
Bây giờ, hãy tạo mảng NumPy bằng phương thức
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
9 bằng cách sử dụng đối tượng try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
7Tham số là đối tượng tệp và kiểu dữ liệu được khởi tạo dưới dạng byte. Điều này sẽ tạo ra một mảng byte NumPy
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
1Ví dụ
import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
đầu ra
[255 216 255 .. 179 255 217]
Các byte được đọc vào mảng
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
mybytearray = bytearray[]
# Do stuff with byte.
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
mybytearray+=f.read[1]
print[mybytearray]
except IOError:
print['Error While Opening the file!']
5 và các byte được in raĐọc tệp nhị phân từng dòng
Trong phần này, bạn sẽ học cách đọc tệp nhị phân theo từng dòng
Bạn có thể đọc từng dòng tệp bằng cách sử dụng phương pháp
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
3 có sẵn trong đối tượng tệpMỗi dòng sẽ được lưu trữ dưới dạng một mục trong danh sách. Danh sách này có thể được lặp lại để truy cập từng dòng của tệp
Phương pháp
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
4 được sử dụng để xóa khoảng trắng ở đầu và cuối dòng trong khi in dòngVí dụ
f = open["c:\temp\Binary_File.jpg",'rb']
lines = f.readlines[]
for line in lines:
print[line.rstrip[]]
đầu ra
b'\x07\x07\x07\x07'
b''
b''
b''
b''
b''
b'\x0c\x0f\x0c\x0c\x0c\x0c\x0c\x0c\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x12\x12\x12\x12\x12\x12\x15\x15\x15\x15\x15\x17\x17\x17\x17\x17\x17\x17\x17\x17\x17\xff\xdb\x00C\x01\x04\x04\x04\x06\x06\x06'
b'\x06\x06'
Đọc tệp nhị phân đầy đủ trong một lần
Trong phần này, bạn sẽ học cách đọc tệp nhị phân trong một lần chụp
Bạn có thể làm điều này bằng cách chuyển
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
5 cho phương thức bytearray[b'\xff\xd8\xff\xe0\x00\x10']
6. Thao tác này sẽ đọc toàn bộ tệp nhị phân trong một lần chụp như hình bên dướiVí dụ
try:
f = open["c:\temp\Binary_File.jpg", 'rb']
while True:
binarycontent = f.read[-1]
if not binarycontent:
break
print[binarycontent]
except IOError:
print['Error While Opening the file!']
đầu ra
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
0Python đọc tệp nhị phân và chuyển đổi sang Ascii
Trong phần này, bạn sẽ học cách đọc tệp nhị phân và chuyển đổi sang ASCII bằng thư viện binascii. Điều này sẽ chuyển đổi tất cả các byte thành ký tự ASCII
Đọc tệp dưới dạng nhị phân như đã giải thích trong phần trước
Tiếp theo, sử dụng phương pháp
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
7. Điều này sẽ chuyển đổi các byte thành bytearray[b'\xff\xd8\xff\xe0\x00\x10']
8 và trả về giá trị bytearray[b'\xff\xd8\xff\xe0\x00\x10']
8Sau đó, bạn có thể in cái này để kiểm tra
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
8 ký tựVí dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
1đầu ra
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
2Đọc tệp nhị phân vào khung dữ liệu
Trong phần này, bạn sẽ học cách đọc tệp nhị phân vào pandas dataframe
Trước tiên, bạn cần đọc tệp nhị phân thành một
import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
1. Bởi vì không có phương pháp nào để đọc trực tiếp tệp nhị phân tới import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
2Sau khi bạn có
import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
1, thì bạn có thể tạo một khung dữ liệu với import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
1Truyền dữ liệu mảng NumPy vào
import numpy as np
dtype = np.dtype['B']
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
numpy_data = np.fromfile[f,dtype]
print[numpy_data]
except IOError:
print['Error While Opening the file!']
5. Sau đó, bạn sẽ có khung dữ liệu với các byte được đọc từ tệp nhị phânVí dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
3đầu ra
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
4Đây là cách bạn có thể đọc tệp nhị phân bằng NumPy và sử dụng mảng NumPy đó để tạo khung dữ liệu gấu trúc
Với mảng NumPy, bạn cũng có thể đọc các byte vào từ điển
Đọc tiêu đề bỏ qua tệp nhị phân
Trong phần này, bạn sẽ học cách đọc tệp nhị phân, bỏ qua dòng tiêu đề trong tệp nhị phân. Một số tệp nhị phân sẽ có tiêu đề ASCII trong đó
Phương thức bỏ qua tiêu đề này có thể hữu ích khi đọc các tệp nhị phân có tiêu đề ASCII
Bạn có thể sử dụng phương thức
bytearray[b'\xff\xd8\xff\xe0\x00\x10']
3 có sẵn trong đối tượng Tệp và chỉ định [1. ] như một tham số bổ sung. Điều này có nghĩa là dòng từ chỉ mục 1 sẽ được đọcDòng tiêu đề ASCII 0 sẽ bị bỏ qua
Ví dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
5đầu ra
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
6Đọc tệp nhị phân bằng Pickle
Trong phần này, bạn sẽ học cách đọc các tệp nhị phân trong python bằng Pickle
Điều này thực sự phức tạp vì không thể đọc được tất cả các loại tệp nhị phân trong chế độ này. Bạn có thể gặp sự cố khi chọn tệp nhị phân. Vì lỗi khóa tải không hợp lệ có thể xảy ra
Do đó không nên sử dụng phương pháp này
Ví dụ
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
7đầu ra
try:
with open["c:\temp\Binary_File.jpg", "rb"] as f:
byte = f.read[1]
while byte:
# Do stuff with byte.
byte = f.read[1]
print[byte]
except IOError:
print['Error While Opening the file!']
8Phần kết luận
Đọc tệp nhị phân là một chức năng quan trọng. Ví dụ: đọc byte của tệp hình ảnh rất hữu ích khi bạn đang làm việc với các vấn đề phân loại hình ảnh. Trong trường hợp này, bạn có thể đọc tệp hình ảnh dưới dạng nhị phân và đọc các byte để tạo mô hình
Trong hướng dẫn này, bạn đã học các phương pháp khác nhau có sẵn để đọc các tệp nhị phân trong python và các thư viện khác nhau có sẵn trong đó