Có thể tạo tệp nhị phân trong python không?

Tệp chứa dữ liệu nhị phân được gọi là tệp nhị phân. Mọi dữ liệu nhị phân được định dạng hoặc không được định dạng đều được lưu trữ trong tệp nhị phân và tệp này không thể đọc được ở người và được máy tính sử dụng trực tiếp. Khi 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 của tệp được chuyển đổi hoặc mã hóa thành định dạng mà con người có thể đọc được. Phần mở rộng của tệp nhị phân là. thùng rác. Nội dung của tệp nhị phân có thể được đọc bằng cách sử dụng chức năng hoặc mô-đun tích hợp. Các cách khác nhau để đọc tệp nhị phân trong Python đã được trình bày trong hướng dẫn này

Điều kiện tiên quyết

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 mẫu. Kịch bản của hai tệp python đã đưa ra bên dưới để tạo hai tệp nhị phân. nhị phân1. 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à tệp nhị phân2. 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ố

nhị phân1. py

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

file_handler = mở["string.bin", "wb"]

# Thêm hai dòng văn bản vào .

file_handler.viết[ b "Chào mừng bạn đến với LinuxHint. \n Học lập trình Python. "]

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

file_handler. đóng[]

nhị phân2. py

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

tệp=mở["number_list.bin","wb"]

# Khai báo danh sách các giá trị số .

numbers=[10,30,45,60,70,85,99]

# Convert the list to array

barray=bytearray[numbers]

# Write array into the file

file.ghi[ dãy ]

tệp . .đóng[]

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

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 toàn bộ nội dung của tệp nhị phân tại một thời điểm. Tạo một tệp python với đoạn mã sau. Hàm open[] dùng để mở chuỗi. thùng để đọc. Hàm read[] đã được sử dụng để đọc 7 ký tự từ tệp trong mỗi lần lặp của vòng lặp while 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 này

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

file_handler = mở["string.bin", "rb"]

# Đọc ba byte đầu tiên từ .

data_byte = file_handler.đọc[7]

in . "["Print three characters in each iteration:"]

# Lặp lại vòng lặp để đọc phần còn lại của tệp

while data_byte:

    in[ byte_dữ liệu ]< .

    data_byte = file_handler.đọc[7]


# . bin'

with open['string.bin', 'rb'] as fh:

    nội dung = fh. đọc[]

in[ . ""Print the full content of the binary file:"]

in[ nội dung ]

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên

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

Tạo tệp python với tập lệnh sau để đọc tệp nhị phân có tên number_list. thùng đã tạo trước đó. Tệp nhị phân này chứa danh sách dữ liệu số. Giống như ví dụ trước, hàm open[] đã sử dụng mở tệp nhị phân để đọc trong tập lệnh. Tiếp theo, 5 số đầu tiên sẽ được đọc từ tệp nhị phân và chuyển đổi thành danh sách trước khi in

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

tệp = mở["number_list.bin", "rb"]

# Đọc năm số đầu tiên thành .

number = list[file.đọc[5]] .

# Print the list

print[number]

# Close the file

file.đóng[]

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên. Tệp nhị phân chứa 7 số và năm số đầu tiên được in ở đầu ra

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

Các cách tạo tệp nhị phân bằng cách sử dụng mảng NumPy và đọc nội dung của tệp nhị phân bằng cách sử dụng danh sách bằng cách sử dụng mô-đun NumPy đã được trình bày trong phần này của hướng dẫn. Trước khi kiểm tra tập lệnh được cung cấp bên dưới, bạn phải cài đặt mô-đun NumPy bằng cách thực thi lệnh từ thiết bị đầu cuối hoặc cài đặt gói NumPy trong trình chỉnh sửa Python, nơi tập lệnh sẽ được thực thi. Hàm tofile[] được sử dụng để tạo tệp văn bản hoặc tệp nhị phân và hàm fromfile[] được sử dụng để tạo một mảng bằng cách đọc tệp văn bản hoặc tệp nhị phân

Cú pháp của tofile[]

ndarray. 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 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 để phân 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. từ tệp[tệp, 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à để phân 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ảng NumPy

Tạo 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

# Nhập mô-đun NumPy

nhập numpy as np< .

# Declare numpy array

nparray = np.mảng[[34, . 89, 30, 45, 90, 11]]

# Create binary file from numpy array

nparray.để nộp["danh sách. bin"]

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

in[np.từ tệp["danh sách. bin",   dtype = np. int64]]

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực hiện đoạn mã trên

Sự kết luận

Ba cách khác nhau để đọc tệp nhị phân đã được trình bày 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ột 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

Python có thể xử lý các tệp nhị phân không?

Khoa học dữ liệu thực tế sử dụng Python Mở 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.

Tệp Python có phải là tệp nhị phân không?

Python có các công cụ để làm việc với tệp nhị phân . Các tệp nhị phân sử dụng các chuỗi kiểu byte. Điều này có nghĩa là khi đọc dữ liệu nhị phân từ một tệp, một đối tượng kiểu byte được trả về. Tệp nhị phân được mở bằng hàm open[], có tham số chế độ chứa ký tự 'b'.

Định dạng tệp nhị phân trong Python là gì?

Tệp nhị phân là tệp có nội dung ở định dạng nhị phân bao gồm một chuỗi byte liên tiếp, mỗi byte dài 8 bit. The content must be interpreted by a program or a hardware processor that understands in advance exactly how that content is formatted and how to read the data.

Chúng ta có thể chuyển đổi mã Python thành nhị phân không?

Bạn có thể sử dụng pyinstaller để đạt được mục tiêu của mình; . .

Chủ Đề