Hướng dẫn python read binary file - python đọc tệp nhị phân

Tệp chứa dữ liệu nhị phân được gọi là tệp nhị phân. Bất kỳ dữ liệu nhị phân được định dạng hoặc không định dạng được lưu trữ trong tệp nhị phân và tệp này không thể đọc được và được sử dụng trực tiếp bởi máy tính. & NBSP; Khi một tệp nhị phân được yêu cầu đọc hoặc chuyển từ vị trí này sang vị trí khác, nội dung tệp được chuyển đổi hoặc mã hóa thành định dạng có thể đọc được của con người. Phần mở rộng của tệp nhị phân là .Bin. Nội dung của tệp nhị phân có thể được đọc bằng cách sử dụng hàm hoặc mô-đun tích hợp. Các cách khác nhau để đọc các tệp nhị phân trong Python đã được hiển thị trong hướng dẫn này.

Nội phân Chính showShow

  • Pre-requisite:
  • Ví dụ-1: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng byte
  • Ví dụ-2: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng
  • Ví dụ-3: Đọc tệp nhị phân bằng Numpy
  • Cú pháp của tofile ():
  • Cú pháp của fomfile ():
  • Conclusion:

Nội phân chính

  • Pre-requisite:
  • Ví dụ-1: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng byte
  • Ví dụ-2: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng
  • Ví dụ-3: Đọc tệp nhị phân bằng Numpy
  • Cú pháp của tofile ():
  • Cú pháp của fomfile ():
  • Conclusion:
  • Nội phân chính

Pre-requisite:

Thông tin về các Tác giả string.bin that will contain string data, and the binary2.py will create a binary file named number_list.bin that will contain a list of numeric data.

Binary1.py

Trước khi kiểm tra các ví dụ của hướng dẫn này, tốt hơn là tạo một hoặc nhiều tệp nhị phân để sử dụng trong tập lệnh ví dụ. Kịch bản của hai tệp Python đã được đưa ra dưới đây để tạo hai tệp nhị phân. Binary1.py sẽ tạo một tệp nhị phân có tên chuỗi.bin sẽ chứa dữ liệu chuỗi và Binary2.py sẽ tạo một tệp nhị phân có tên number_list.bin sẽ chứa danh sách dữ liệu số.

# Mở trình xử lý tệp để tạo tệp nhị phân= open("string.bin", "wb")

File_Handler = Open ("String.bin", "WB")

# Thêm hai dòng văn bản vào tệp nhị phânwrite(b"Welcome to LinuxHint.\nLearn Python Programming.")

File_Handler.Write (B "Chào mừng bạn đến với Linuxhint. \ Nlearn Python Lập trình.")

# Đóng trình xử lý tệpclose()

Binary2.py

Trước khi kiểm tra các ví dụ của hướng dẫn này, tốt hơn là tạo một hoặc nhiều tệp nhị phân để sử dụng trong tập lệnh ví dụ. Kịch bản của hai tệp Python đã được đưa ra dưới đây để tạo hai tệp nhị phân. Binary1.py sẽ tạo một tệp nhị phân có tên chuỗi.bin sẽ chứa dữ liệu chuỗi và Binary2.py sẽ tạo một tệp nhị phân có tên number_list.bin sẽ chứa danh sách dữ liệu số.

file=open("number_list.bin","wb")=open("number_list.bin","wb")

# Mở trình xử lý tệp để tạo tệp nhị phân

File_Handler = Open ("String.bin", "WB")=[10,30,45,60,70,85,99]

# Thêm hai dòng văn bản vào tệp nhị phân

File_Handler.Write (B "Chào mừng bạn đến với Linuxhint. \ Nlearn Python Lập trình.")=bytearray(numbers)

# Đóng trình xử lý tệp

file.write(barray).write(barray)

file.close().close()

Ví dụ-1: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng byte

file_handler.close ()open() function has used to open the string.bin for reading. The read() function has been used to read 7 characters from the file in each iteration of while loop and print. Next, the read() function has been used without any argument to read the full content of the binary file that will be printed later.

# Khai báo một danh sách các giá trị số

Số = [10,30,45,60,70,85,99]= open("string.bin", "rb")

# Chuyển đổi danh sách thành mảng

Barray = bytearray (số)= file_handler.read(7)

# Viết mảng vào tệp("Print three characters in each iteration:")

Nhiều cách tồn tại trong Python để đọc tệp nhị phân. Bạn có thể đọc số byte cụ thể hoặc nội dung đầy đủ của tệp nhị phân tại một thời điểm. Tạo một tệp Python với tập lệnh sau. Hàm Open () đã được sử dụng để mở chuỗi.bin để đọc. Hàm đọc () đã được sử dụng để đọc 7 ký tự từ tệp trong mỗi lần lặp trong khi vòng lặp và in. Tiếp theo, hàm Read () đã được sử dụng mà không có bất kỳ đối số nào để đọc toàn bộ nội dung của tệp nhị phân sẽ được in sau.

# Mở tệp nhị phân để đọc data_byte:

File_Handler = Open ("String.bin", "RB")print(data_byte)

# Đọc ba byte đầu tiên từ tệp nhị phân= file_handler.read(7)

data_byte = file_handler.read (7)

In ("In ba ký tự trong mỗi lần lặp:") open('string.bin', 'rb') as fh:

# Lặp lại vòng lặp để đọc phần còn lại của tệp= fh.read()

Trong khi data_byte:("Print the full content of the binary file:")

print(content)(content)

Output:

& nbsp; & nbsp; in (data_byte)

Hướng dẫn python read binary file - python đọc tệp nhị phân

Ví dụ-2: Đọc tệp nhị phân của dữ liệu chuỗi vào mảng

& nbsp; & nbsp; data_byte = file_handler.read (7)number_list.bin created previously. This binary file contains a list of numeric data. Like the previous example, the open() function has used open the binary file for reading in the script. Next, the first 5 numbers will be read from the binary file and converted into a list before printing.

# Khai báo một danh sách các giá trị số

file=open("number_list.bin","rb") = open("number_list.bin", "rb")

Số = [10,30,45,60,70,85,99]

# Chuyển đổi danh sách thành mảng= list(file.read(5))

Barray = bytearray (số)

print(number)(number)

# Viết mảng vào tệp

file.close().close()

Output:

Nhiều cách tồn tại trong Python để đọc tệp nhị phân. Bạn có thể đọc số byte cụ thể hoặc nội dung đầy đủ của tệp nhị phân tại một thời điểm. Tạo một tệp Python với tập lệnh sau. Hàm Open () đã được sử dụng để mở chuỗi.bin để đọc. Hàm đọc () đã được sử dụng để đọc 7 ký tự từ tệp trong mỗi lần lặp trong khi vòng lặp và in. Tiếp theo, hàm Read () đã được sử dụng mà không có bất kỳ đối số nào để đọc toàn bộ nội dung của tệp nhị phân sẽ được in sau.

Ví dụ-3: Đọc tệp nhị phân bằng Numpy

# Mở tệp nhị phân để đọcNumPy array and read the content of the binary file using into a list by using the NumPy module have shown in this part of the tutorial. Before checking the script given below, you have to install the NumPy module by executing the command from the terminal or installing the NumPy package in the Python editor, where the script will be executed. The tofile() function is used to create a text or binary file, and the fromfile() function is used to create an array by reading a text or binary file.

Cú pháp của tofile ():

ndarray.tofile (file, sep = '', format = '%s'))tofile(file, sep='', format='%s')

Đối số đầu tiên là bắt buộc và lấy tên tệp hoặc chuỗi hoặc đường dẫn làm giá trị. Tệp sẽ được tạo nếu một tên tệp được cung cấp trong đối số này. Đối số thứ hai là tùy chọn được sử dụng để tách các phần tử mảng. Đối số thứ ba cũng là tùy chọn và được sử dụng để định dạng đầu ra của tệp văn bản.

Cú pháp của fomfile ():

numpy.fromfile (file, dtype = float, Count =- 1, sep = '', offset = 0, *, like = none)fromfile(file, dtype=float, count=- 1, sep='', offset=0, *, like=None)

Đối số đầu tiên là bắt buộc và lấy tên tệp hoặc chuỗi hoặc đường dẫn làm giá trị. Nội dung của tệp sẽ được đọc nếu tên tệp sẽ được cung cấp trong đối số này. DTYPE xác định kiểu dữ liệu của mảng được trả về. Số lượng được sử dụng để đếm số lượng mặt hàng. Mục đích của SEP là tách các mục văn bản hoặc mảng. Phần bù được sử dụng để xác định vị trí hiện tại của tệp. Đối số cuối cùng được sử dụng để tạo một đối tượng mảng không phải là một mảng numpy.dtype defines the data type of the returned array. The count is used to count the number of items. The purpose of the sep is to separate the text or array items. The offset is used to define the current position of the file. The last argument is used to create an array object that not a NumPy array.

Tạo một tệp Python với tập lệnh sau để tạo tệp nhị phân bằng mảng Numpy và đọc và in nội dung của tệp nhị phân.NumPy array and read and print the content of the binary file.

# Nhập mô -đun Numpy

nhập khẩu NUMPY dưới dạng NP numpy as np

# Khai báo mảng numpy

nparray = np.array ([34,89,30,45,90,11]))= np.array([34, 89, 30, 45, 90, 11])

# Tạo tệp nhị phân từ mảng numpy

nparray.tofile ("list.bin")tofile("list.bin")

# In dữ liệu từ tệp nhị phân

in (np.fromfile ("list.bin", & nbsp; dtype = np.int64)))(np.fromfile("list.bin",  dtype=np.int64))

Output:

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trên.

Conclusion:

Ba cách khác nhau để đọc tệp nhị phân đã được hiển thị trong hướng dẫn này bằng cách sử dụng các ví dụ đơn giản. Ví dụ đầu tiên trả về nội dung của tệp nhị phân dưới dạng mảng byte. Ví dụ thứ hai trả về nội dung của tệp nhị phân dưới dạng danh sách. Ví dụ cuối cùng cũng trả về nội dung của tệp nhị phân dưới dạng danh sách.