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