我有一个名为的文件guidefs.h
,其中包含有关项目代码版本的信息。
它在两行之间有#define VERSION_MAJOR 2
& #define VERSION_MINOR 1
,我想搜索这些单词并将数字 2 和 1 分别获取到变量 MAJOR 和 MINOR。
我进行了广泛的搜索,但最终搜索了这些单词。请让我知道如何搜索这些单词并获取与之相关的数字。
我有一个名为的文件guidefs.h
,其中包含有关项目代码版本的信息。
它在两行之间有#define VERSION_MAJOR 2
& #define VERSION_MINOR 1
,我想搜索这些单词并将数字 2 和 1 分别获取到变量 MAJOR 和 MINOR。
我进行了广泛的搜索,但最终搜索了这些单词。请让我知道如何搜索这些单词并获取与之相关的数字。
尝试以下操作:
import re
number_regex = r'#define\s+VERSION_M[AJIN]+OR\s+(\d+)'
with open("guidefs.h") as f:
your_text = f.read()
all_numbers = re.findall(number_regex, your_text)
# This will return ['2', '1']
这适用于您的 MAJOR 和 MINOR 号码。
如果您想要一个整数列表而不是字符串列表,您可以通过添加以下行来使用列表推导:
all_numbers = [int(x) for x in all_numbers]
# This will return [2, 1]
我做了类似下面的事情,它对我有用。非常感谢所有的答案。
with open("path\to\guidefs.h") as f:
text=f.read()
versions=re.findall(r'#define\s+VERSION_M[AJIN]+OR\s+(\d+)',text)
major_version=versions[0]
minor_version=versions[1]
print major_version
print minor_version
输出:2 1