在文本中查找输入词并打印"相关字符"

时间:2017-10-27 15:55:54

标签: python

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

" -POST- 1

blablabla abcde

-POST- 15

wordwordword helloworld"

如果输入是" blablabla"或" abcde"输出应该是" 1" (帖子' ID'), 如果输入是wordwordword或" Helloworld"输出应该是" 15"。

我的想法是创建一个词典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

&#34; Fposts&#34;是文件的目录 你能帮助我吗?谢谢大家。

1 个答案:

答案 0 :(得分:0)

它不是很清楚你想要什么,但我在这里尝试使用正则表达式:

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

首先使用blablabla

进行测试
print(print_id("blablabla"))

输出:

{'blablabla': '1'}

使用wordwordword

进行第二次测试
print(print_id("wordwordword"))

输出:

{'wordwordword': '15'}