【发布时间】:2019-01-17 18:34:30
【问题描述】:
文本文件上的单词搜索,我需要检查一个单词是否出现在大量文件中。使用我的程序工作的唯一单词,我想使用列表扩展到单词列表,但是我无法使其工作。
for name in files:
try:
with open(name,errors='ignore') as f:
found = "FALSE"
pos = 0
for line in f:
pos = pos + 1
if pattern_finder(line):
found = "TRUE"
break
output_file.write (ntpath.basename(f.name) +';' + found + ';' + str(pos)+ ';' + line )
except IOError as exc:
if exc.errno != errno.EISDIR:
print("No Files Found")
raise
output_file.close()
def pattern_finder (file_line):
for i in range(len(pattern_to_find)):
word = pattern_to_find[i]
if word in file_line:
return True
break
永远找不到行中的“单词”,当然,如果我只是避免使用列表,它可以正常工作,即 word="WORD_IM_LOOKING" 我相信我有一个关于如何从列表中获取值以使用该值查看 list.index 中是否存在的概念问题 有人可以建议吗? )
【问题讨论】:
-
您发布的代码因各种缺少符号定义和缩进错误而无法运行。输出文件(除其他外)对您的问题是多余的。最重要的是,您应该包括一个使用目标词列表的简单尝试——这不会出现在您的代码或描述中的任何地方。