我有一个单词列表['Ip', 'Name', 'Error']
。读取日志文件,
该脚本应该测试该行是否包含列表中的一个单词。
没有成功'如果排队'......任何想法?
答案 0 :(得分:0)
这可能会有所帮助。迭代您的检查清单,并在列中查看列表元素。
<强>实施例强>
for i in ['Ip', 'Name', 'Error']:
if i in line:
print "Ok!!!!"
答案 1 :(得分:0)
你可以尝试这样的事情。
list(set(line.split()) & set(my_list))
这将返回行和列表中存在的单词列表。 希望有所帮助。
答案 2 :(得分:0)
检查一下。
def getIndexLinesOfWords(filename,word_list):
infile = open(filename, 'r')
dct = {}
count = 0
for line in infile:
count += 1
newLine = line.replace('\n', ' ')
if newLine == ' ':
continue
split_line = newLine.split()
for word in word_list:
if word in split_line:
if word in dct:
dct[word] += [count]
else:
dct[word] = [count]
for word in word_list:
print('{:12} {}'.format(word,dct[word]))
infile.close()
filename = "C:/Users/fff/Desktop/log.txt"
word_list = ["lp", "error", "name"]
getIndexLinesOfWords(filename,word_list)
答案 3 :(得分:0)
您可以尝试使用过滤器:
data=['Ip', 'Name', 'Error']
print(list(filter(lambda x:[True for line in open('file.txt','r') if x in line],data)))