【发布时间】:2015-07-08 21:06:51
【问题描述】:
我有一个文件,它是一个短语列表,每行一个短语。 另一个文件没有以任何方式分隔,它只是一个巨大的文字文件。我想在第二个文件中搜索短语,如果找到,则打印该短语。这是我目前的代码。
f = open("phrase.txt", "r")
g = open("text.txt", "r")
for line in f:
search=line.lower()
for word in g:
if search in word:
print(search)
不过,这并没有为我打印任何东西。
编辑:我将代码更改为:
f = open('phrase.txt').readlines()
f = [f.strip('\n').lower() for f in f]
g = open('text.txt').read()
for phrase in f:
if phrase in g:
print (phrase)
现在我得到了匹配的短语。但是,有些短语后面有破折号 (-) 和更多字母,即使破折号之前的短语出现在 text.txt 中,程序也不会拾取它们。有什么办法可以改变吗?
【问题讨论】:
-
试试:
f = open("phrase.txt", "r").read() or f = open("phrase.txt", "r").readlines() -
好的,我做了 .read() 并且它实际上只是打印了字母 e 而没有其他任何东西......知道为什么会这样吗?.readlines() 也没有返回任何内容
-
“text.txt”中的单词之间有空格吗?
-
是的,有空格,但所有单词都在一行
标签: python