私はPython 3でループするときに問題を解決しようとしていました。 サブルーチンから戻ってくるとき、 "line"変数はインクリメントされません。Pythonでループし、サブルーチンの後にカレント行を保持する
サブルーチンから最新のreadlineを返すようにスクリプトを取得するにはどうすればよいですか?
コード
def getData(line):
#print(line)
#while line in sTSDP_data:
while "/service/content/test" not in line:
line = sTSDP_data.readline()
import os, sys
sFileTSDP = "d:/ess/redo/Test.log"
sTSDP_data = open(sFileTSDP, "r")
for line in sTSDP_data:
if "MOBITV" in line:
getData(line) #call sub routine
print(line)
の下に、私は大容量のファイルを通って、私はデータの次の5(または100)のラインを処理するサブルーチン を呼び出す必要がある特定の文字列を踏みました。サブルーチンが完了してメインプログラムに戻るときは、メインプログラムの最後のリードラインではなく、サブルーチンの最後の readlineから継続する方がよいでしょう。
ダンの答えがトリックでした。
これは奇妙で畳み込まれたスクリプトです。それが何をすべきかを教えてくれるのですか? –
Daanの答えがあなたを助けてくれたら、(投票の左にある上向きの矢印をクリックして)upvotingし、それを正解としてマークしてください(votecountのちょっとしたチェックマークにチェックを入れてください)。 –