我想逐行扫描.txt文件中的特定单词。找到单词后,我想将该特定行添加到列表中。任何帮助将不胜感激!
下面的代码显示一个空列表...
list = [ ]
word = 'help!'
with open('help!') as f:
lines = f.readlines()
if word in lines:
list.append(word)
print(list)
答案 0 :(得分:2)
您可以遍历.txt文件中的所有行,并检查单词是否在该行中出现。如果是这样,请将该行添加到您的列表中。
list = [ ]
word = 'help!'
with open('text_file.txt') as f:
lines = f.readlines()
for line in lines: #iterate over lines
if word in line: #check if word in line
list.append(line) #add line
print(list)
答案 1 :(得分:0)
您最有可能希望在文件的每一行上执行一个for循环,看看您的单词是否出现。
# declare variables
list = []
word = 'help!'
# filepath to your .txt file, if its in the
# same directory as your py script, then just set it as the .txt name
filePath = 'stackOverflow.txt'
# for each line in your .txt file
for line in open(filePath):
# if your word is in that line then ...
if(word in line):
# append to list
list.append(line)
# print list
print(list)
希望这会有所帮助! =)
答案 2 :(得分:0)
您可能要谨慎使用以下方法检查句子中的单词:
If (word in line):
list.append(line)
如果单词=“ in”,则在“替补席上的Sitt in g”行中进行测试时,上述条件将返回假阳性“ True”。
一种更好的方法可能是:
if (word in line.split(“ “)):
list.append(line)
这将丢失带标点符号的单词,因此先删除标点符号将是更好的解决方案。您可以导入re并使用正则表达式先删除标点符号。
Regex = re.compile(r”\W+”)
if (word in Regex.sub(“ “,line).split(“ “)):
list.append(line)