Python struct模块:利用unpack与格式字符串提取子字符串

Chloe
Chloe
发布时间:2026-10-13| 4人浏览过
原创

本文介绍如何使用Python的struct模块配合unpack函数提取子字符串。通过定义格式字符串(如's'表示字符,'x'表示跳过),可精确指定读取长度与跳过字节数。文中包含从完整字符串中剔除特定子串并重组输出的完整代码示例,展示了格式字符串在文本处理中的灵活应用。

首先,需要定义格式字符串(format),其语法决定了如何解析原始数据。
复制代码 具体实现代码如下:

# 示例:提取前5个字符,跳过中间4个字符,再提取后续3个字符
format = '5s 4x 3s'

接下来,调用 struct.unpack 函数,传入定义的格式字符串和原始数据,以获取提取后的子字符串元组。
复制代码 具体实现代码如下:

import struct
print struct.unpack(format, 'Test astring')
# 输出结果为:('Test', 'ing')

下面通过一个更直观的案例演示:假设有一个字符串 'He is not very happy',目标是移除其中的 'not' 一词,并重新组合输出剩余部分。
复制代码 具体实现代码如下:

import struct
theString = 'He is not very happy'
format = '2s 1x 2s 5x 4s 1x 5s'
print ' '.join(struct.unpack(format, theString))

最终输出结果为:
He is very happy
相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。