我有一个. txt文件
name="XYZ_PP_0" number="0x12" bytesize="4" info="0x0000001A"
name="GK_LMP_2_0" number="0xA5" bytesize="8" info="0x00000000bbae321f"
name="MP_LKO_1_0" number="0x356" bytesize="4" info="0x00000234"
我需要检查它是否满足条件,即检查信息值是否为数字“0x12”+ 0x00000004 = number="0x356"
的信息值。
如果它与print匹配,则结果值与给定的info值number="0x356"
匹配。
否则打印不匹配。
我该怎么做?
这是当前尝试:
import re
pattern = r'(number=\"\w+\").*(info=\"\w+\")'
with open("in.txt", "rb") as fin:
for line in fin:
for match_number, match_info in re.findall(pattern, line):
但这只是提取数字和信息值。
1条答案
按热度按时间7xllpg7q1#
把它分成几个步骤。
1.查找如何逐行读取文本文件。您将得到该文件的行列表。
1.弄清楚如何从“数字”字段中提取值。我认为一个简单的正则表达式在这里会很好地为您服务。
1.[选择性]将此值转换为适合您问题的正确资料类型。
1.做你感兴趣的比较。
我想你可以很容易地在谷歌上搜索所有这些语法。
编辑:在原帖子中没有任何代码之前就发布了。我不太确定问题是什么了。你需要帮助调试吗?
编辑2:再尝试一下,因为我认为您需要RegEx语法。
修改你的RegEx模式,用括号括住你想要提取的信息。这样的模式的RegEx匹配将允许你把括号里的值赋给Python变量。
请参见此部分示例。