以下は簡単な検索です。iterator
ファイルの最初の行をスキップしているという事実を除いて、それは機能します。内部iterator
最初のprint
ステートメントには正しい単語が含まれていますが、2番目のprint
ステートメント(for
ループの後)には、最初のステートメントではなく、2行目のテキストが含まれています。
私が見逃しているこのfor
ループの動作はどうですか?
"""Searches for the query inside a file
"""
def lines(the_file, query):
lines = open(the_file)
line(lines, query)
def line(lines, query):
line = lines.readline()
iterator(line, lines, word, query)
def word(line, query):
word = line.strip()
conditional(query, word)
def iterator(this, that, function, query):
print this
for this in that:
print this
function(this, query)
def conditional(this, that):
if this in that:
output(that, True)
else:
None
def output(query, result):
print query
def search(the_file, query):
lines(the_file, query)
search('c:/py/myfile.txt', 'a')