Python 中的 struct 模組
在本教程中,我們將學習 **struct** 模組。讓我們深入教程。
**struct** 模組用於將 Python 的原生資料型別轉換為 **位元組字串**,反之亦然。我們不需要安裝它,它是 Python3 中可用的內建模組。
struct 模組與 C 語言相關。我們需要了解 C 語言中用於表示各種資料型別的符號,才能使用 **struct** 模組。讓我們看一些。
| 資料型別 | 格式字元 |
|---|---|
| 整數 | i |
| 字元 | c |
| 字串 | s |
| 浮點數 | f |
讓我們看看如何將 Python 資料型別轉換為位元組。
struct.pack()
**struct.pack()** 方法用於將資料型別轉換為位元組。它根據第一個字串獲取多個引數。
我們必須使用上面表格中提到的格式字元傳遞第一個字串。我們可以根據需要傳遞任何引數。讓我們看一些例子。
- struct.pack('14s i', b'Tutorialspoint', 2020)
- struct.pack('i i f 3s', 1, 2, 3.5, b'abc')
讓我們將以上示例轉換為位元組。
示例
# 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'))輸出
如果執行以上程式碼,則會得到以下結果。
b'Tutorialspoint\x00\x00\xe4\x07\x00\x00' b'\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00`@abc'
struct.unpack()¶
我們還有另一個方法 **struct.unpack()**,它將位元組轉換為本機 Python 資料型別。它接受兩個引數,第一個引數類似於 **pack()** 方法,第二個引數是 **struct.pack()** 方法的結果。
**struct.unpack()** 方法始終返回一個元組。
示例
# 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))輸出
如果執行以上程式碼,則會得到以下結果。
(b'Tutorialspoint', 2020)
結論
如果您對本教程有任何疑問,請在評論區中提出。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP