使用Python3.x从文本文件中查找匹配的关键字
我有一个以下格式的文本文件和许多这样的行使用Python3.x从文本文件中查找匹配的关键字,python,python-3.x,text,Python,Python 3.x,Text,我有一个以下格式的文本文件和许多这样的行 Main keyword:Mainvariable, variable (1):name_1, variable (2, 3):name_2, variable(3, 1, 2):name_3, and so on.... 我想在检查主关键字是否存在于特定行后进行检索,然后获取相应的信息 例如,如果在另一个文件的特定行中有变量(1)。我想得到的答案是name_1 输入文件 variable (1) variable (3,1,2) variable (
Main keyword:Mainvariable, variable (1):name_1, variable (2, 3):name_2, variable(3, 1, 2):name_3, and so on....
我想在检查主关键字是否存在于特定行后进行检索,然后获取相应的信息
例如,如果在另一个文件的特定行中有变量(1)。我想得到的答案是name_1
输入文件
variable (1)
variable (3,1,2)
variable (1) as so on...
所需输出:
name_1
name_3
name_1 and so on..
迄今为止的代码:
print("\n-- ACCESSED VARIABLES --\n")
with open(commands_file, "r") as find_feature_access:
with open("commands_analysis/feature_commands", "a") as feature_commands:
with open("common_files/commands_library", "r") as feature_names:
for line_1 in find_feature_access:
current_line = line_1.strip()
if current_line in possible_variables:
feature_commands.write(current_line + "\n")
for line_2 in feature_names:
if current_line in line_2:
line_part = line_2.strip(",")
if current_line in line_part:
required_part = line_part.strip(",")
print (required_part)
像这样的
sFILE = 'Main keyword:Mainvariable, variable (1):name_1, variable (2, 3):name_2, variable(3, 1, 2):name_3'
# I'm removing the beginning, but you could extract it if you want to check it
# ie "Main keyword:Mainvariable,"
sLINE = sFILE[26:]
# split the rest of the line at "variable"
sVARS = sLINE.split('variable')
for item in sVARS:
# clean up whitespaces and commas
item = item.strip(' ,')
print('"',item,'"')
# prints "(1):name_1"
# prints "(2, 3):name_2"
# prints "(3, 1, 2):name_3"
现在您可以提取名称,\n或执行其他必要的操作,或在其他文件中执行相同的操作并进行交叉检查?例如,在列表(或dic,取决于您的需要)中填充名称,然后在另一个文件中提取“1”、“2”和“3”,并查找列表/字典?您的示例输入文件与您的格式描述不匹配。在您的代码中,
可能的变量
未定义。在输入行变量(3,1,2)
中,1和2是否可以忽略?所以只使用第一个数字?@Evert变量(3,1,2)与名称_3不完全对应。它没有什么可忽略的。它只是硬编码在一个文本文件中。您有两个输入文件吗?一个格式文件和一个实际输入文件?