2017-04-21 6 views
0

ここで解決策を探すのに数時間かかりましたが、見つけられませんでした。誰かが私を助けたり、似たような質問をするかもしれませんか?whileループはPythonの関数にジャンプしますか?

私はwhileループで関数を持っています。テキストファイルの各行を超える機能を反復:

def parser(): 
    for line in f: 
     print(line) 

f = open('textfile.txt', 'r') 

count = 0 
while count < 7: 
    parser() 
    count += 1 
    print(count) 

私の出力は以下の通りです:

text file line 1 
text file line 2 
text file line 3 
1 
text file line 1 
text file line 2 
text file line 3 
2 
text file line 1 
text file line 2 
text file line 3 
3 

text file line 1 
text file line 2 
text file line 3 

1 
2 
3 
4 
5 
6 

私の最初の目標は、それぞれ+1後に再度関数を呼び出すことでした

...など。

これは実際に重複しており、事前に感謝している場合はお詫び申し上げます!

def parser(f): 
    for line in f: 
     print(line.strip()) # stripping off '\n' 

count = 0 
while count < 7: 
    with open('../var/textfile.txt', 'r') as f: 
     parser(f) 
    count += 1 
    print(count) 

代わりにあなたもf.seek(0)が開いて、元のファイルを残すことができます:あなたは(addidionally私はparser関数の引数としてfilehander fを通過した)あなたのwhileループ内でファイルを再度開く必要があるユースケースのための

答えて

1

f = open('../var/textfile.txt', 'r') 

count = 0 
while count < 7: 
    f.seek(0) 
    parser(f) 
    count += 1 
    print(count) 
+0

とても早く、ありがとうございました! – Sils10

関連する問題