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]