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)

結論

如果您對本教程有任何疑問,請在評論區中提出。

更新於: 2020年7月11日

4K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.