Computer >> Máy Tính >  >> Lập trình >> Python

mô-đun struct bằng Python

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về struct mô-đun. Hãy đi sâu vào hướng dẫn.

Mô-đun struct được sử dụng để chuyển đổi các kiểu dữ liệu gốc của Python thành chuỗi byte và ngược lại. Chúng tôi không cần phải cài đặt nó. Đó là một mô-đun tích hợp sẵn trong Python3 .

Mô-đun struct liên quan đến ngôn ngữ C. Chúng ta phải biết các ký hiệu được sử dụng trong C để đại diện cho nhiều kiểu dữ liệu khác nhau để làm việc với struct mô-đun. Hãy xem một số trong số chúng.

Loại dữ liệu Định dạng ký tự
int tôi
ký tự c
chuỗi s
float f

Hãy xem cách chuyển đổi các kiểu dữ liệu Python thành byte.

struct.pack ()

Phương thức struct.pack () được sử dụng để chuyển đổi các kiểu dữ liệu thành byte. Nó có nhiều đối số dựa trên chuỗi đầu tiên.

Chúng ta phải chuyển chuỗi đầu tiên với các ký tự định dạng như đã đề cập trong bảng trên. Chúng tôi có thể bỏ qua bất kỳ đối số nào như chúng tôi muốn. Hãy xem một số ví dụ.

  • struct.pack ('14s i', b'Tutorialspoint ', 2020)
  • struct.pack ('i i f 3s', 1, 2, 3.5, b'abc ')

Hãy chuyển đổi các ví dụ trên thành byte.

Ví dụ

# importing the struct module
import struct
# converting into bytes
print(struct.pack('14s i', b'Tutorialspoint', 2020))
print(struct.pack('i i f 3s', 1, 2, 3.5, b'abc'))

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

b'Tutorialspoint\x00\x00\xe4\x07\x00\x00'
b'\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00`@abc'

struct.unpack () ¶

Chúng tôi có một phương thức khác struct.unpack () chuyển đổi byte thành các kiểu dữ liệu Python gốc. Cần có hai đối số, đối số đầu tiên tương tự với pack () và phương thức thứ hai là kết quả của struct.pack () phương pháp.

Phương thức struct.unpack () luôn trả về một tutple.

Ví dụ

# importing the struct module
import struct
# converting into bytes
converted_bytes = struct.pack('14s i', b'Tutorialspoint', 2020)
# converting into Python data types
print(struct.unpack('14s i', converted_bytes))

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

(b'Tutorialspoint', 2020)

Kết luận

Nếu bạn có bất kỳ nghi ngờ nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.