python - 使用python中的格式字符串从文本字符串中提取值
问题描述
我有一个格式字符串和一个输入字符串,例如:
format_string = "name=%s, age=%d"
input_string = "name=username, age=100"
关于如何以简洁的方式提取%s
和的等效值的任何建议?%d
解决方案
除非您想使用正则表达式或拆分技术,否则您可以尝试TTP来提取所需的值:
from ttp import ttp
import pprint
data = """
name=username1, age=1001
name=username2, age=1002
name=username3, age=1003
"""
template = "name={{ name }}, age={{ age }}"
parser = ttp(data, template)
parser.parse()
res = parser.result(structure="flat_list")
pprint.pprint(res)
# prints:
# [{'age': '1001', 'name': 'username1'},
# {'age': '1002', 'name': 'username2'},
# {'age': '1003', 'name': 'username3'}]
推荐阅读
- kubernetes - Kubernetes pod 回滚和重启
- rest - Microsoft Graph API - 访问邮件时出现 AuthenticationError
- winforms - GreatMaps (GMap.net) 离线文件...要下载吗?
- c++ - C++ 中的素数生成器(alex alllain 跳入 C++)
- react-native - 返回时屏幕状态未从 AsyncStorage 更新
- amazon-web-services - 在 ubuntu 18 上找不到请求的 URL
- python - 在Django中查询一对多关系然后聚合
- reactjs - 如何使用反应钩子仅展开和折叠手风琴中的第一项?
- maven - 如何配置 Maven 以仅在部署时执行测试
- c# - 尝试将 Task.WhenAll 与 Task 一起使用
不工作