我必须做一个程序,在文本中找到一个单词,然后打印与之关联的另一个单词(或字符)。例如,文本文件是:
" -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;是文件的目录 你能帮助我吗?谢谢大家。
答案 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'}