Python 在文本中找到一个输入字并打印;“关联字符”;

Python 在文本中找到一个输入字并打印;“关联字符”;,python,Python,我必须做一个程序,在文本中找到一个单词,然后打印与之相关的另一个单词(或字符)。例如,文本文件是: " -后-1 布拉布拉abcde -15岁以后 “helloworld” 如果输入为“blabla”或“abcde”,则输出应为“1”(post'ID'), 如果输入为word或“Helloworld”,则输出应为“15” 我的想法是创建一个dictionary d={'ID':'word'}来对帖子进行分类,但只能这样做: def post(fposts,insieme): l=list(ins

我必须做一个程序,在文本中找到一个单词,然后打印与之相关的另一个单词(或字符)。例如,文本文件是:

" -后-1

布拉布拉abcde

-15岁以后

“helloworld”

如果输入为“blabla”或“abcde”,则输出应为“1”(post'ID'), 如果输入为word或“Helloworld”,则输出应为“15”

我的想法是创建一个dictionary d={'ID':'word'}来对帖子进行分类,但只能这样做:

def post(fposts,insieme):
l=list(insieme)


d={}
with open(fposts) as openfile:
    for line in openfile:
        for i in line.split():
            if i=='<POST>':
                for j in l:
                    if j in i:
                        d={i+1:j}

    return d
def post(FPOST、insieme):
l=列表(insieme)
d={}
打开(FPOST)作为打开文件:
对于openfile中的行:
对于行中的i.split():
如果i='':
对于l中的j:
如果j在i中:
d={i+1:j}
返回d
“Fposts”是文件的目录
你能帮助我吗?多谢大家。

不太清楚您想要什么,但我尝试了使用regex,现在开始:

import re

def print_id(string):
    pattern="""([0-9]).*\s+([match_word].+)"""
    pattern2=r'\bmatch_word\b'

    replace1=re.sub(pattern2,string,pattern)
    new_dict={}
    with open('po.txt') as f:
        read_file=f.read()
        match=re.search(replace1,read_file,re.M)
        new_dict[string]=match.group(1)

    return new_dict
使用
blabla进行首次测试

print(print_id("blablabla"))
输出:

{'blablabla': '1'}
{'wordwordword': '15'}
使用
word

print(print_id("wordwordword"))
输出:

{'blablabla': '1'}
{'wordwordword': '15'}

谢谢大家!只有一个问题:“模式”和“模式2”是什么意思?@SimonePaolo这些是正则表达式模式。如果我的解决方案对您有效,请接受答案。@SimonePaolo您不需要在那里插入任何内容,只需在函数中指定字符串作为参数并更改文件名即可。我这样做,但它不起作用,例如,如果插入字符串,程序就不会将其与正确的“id”关联@SimonePaolo我试过使用你的测试字符串,这两种方法都有效,现在我不知道你的实际文件格式是什么,有多少空格等等,你提供了什么,我试过使用这些数据。