python 处理二进制数据
时间: 2023-08-03 16:02:37 浏览: 126
Python 可以很方便地处理二进制数据。以下是一些处理二进制数据的常用函数和方法:
1. 内置函数 `open()`:可以用于打开二进制文件。
```python
f = open('file.bin', 'rb') # 注意使用二进制模式打开文件
```
2. 内置函数 `struct.pack()` 和 `struct.unpack()`:可以用于将二进制数据打包和解包。
```python
import struct
# 将整数 42 打包成二进制数据
packed = struct.pack('i', 42)
print(packed) # 输出 b'*\x00\x00\x00'
# 将二进制数据解包为整数
unpacked = struct.unpack('i', packed)
print(unpacked) # 输出 (42,)
```
3. 内置模块 `array`:可以用于创建和操作数组。
```python
import array
# 创建一个包含整数的数组
a = array.array('i', [1, 2, 3])
print(a) # 输出 array('i', [1, 2, 3])
# 将数组写入文件
with open('data.bin', 'wb') as f:
a.tofile(f)
# 从文件中读取数组
with open('data.bin', 'rb') as f:
b = array.array('i')
b.fromfile(f, 3)
print(b) # 输出 array('i', [1, 2, 3])
```
4. 内置模块 `bytes` 和 `bytearray`:可以用于创建和操作字节序列。
```python
# 创建一个字节序列
b = bytes([0x48, 0x65, 0x6c, 0x6c, 0x6f])
print(b) # 输出 b'Hello'
# 将字节序列转换为可打印的字符串
s = b.decode('utf-8')
print(s) # 输出 'Hello'
# 创建一个可变字节序列
ba = bytearray(b)
ba[0] = 0x68 # 修改第一个字节
print(ba) # 输出 bytearray(b'hello')
```
以上只是一些常见的二进制数据处理函数和方法,Python 还有很多其他的工具和库可以用于处理二进制数据,如 `numpy`、`pandas` 等。
阅读全文