2016-12-08 10 views
0

私は以下のコードを持っています。私は、ファイルの最後にコードにプリントを保存するコードを作ろうとしています。これのどの部分が欠けていますか?ファイルに印刷しますか?

import itertools 

#Open test.txt 
file = open('test.txt', 'a') 

res = itertools.product('abcdef', repeat=3) # 3 is the length of your result. 
for i in res: 
    print ''.join(i) 
+0

:あなたが好きな何かを行うことができますhere

を読むことができますwithの詳細については

。 –

+0

Python 2では、 'print'が文の場合、' print '' .join(i)>> file'を使用して出力をオープンファイルにする必要があります。 Python 3では、関数 'print( ''。join(i)、file = file)'を使います。 – martineau

答えて

3

printが、それはもちろん変更することができますが、デフォルトでは、あなたの画面ですstdoutへの出力を出力として基本的には、ファイルへの書き込みを使用して印刷をリンクしませんでした。

私の例ではwithステートメントを使用しました。つまり、実行されるコードが終了すると自動的にファイルが閉じられるため、処理が完了したらファイルを閉じる必要はありません。ファイルへの書き込みと実際の書き込みのためにファイルを開くの間にはリンクがありません

import itertools 

res = itertools.product('abcdef', repeat=3) # 3 is the length of your result. 
with open('test.txt', 'a') as f_output: 
    for i in res: 
     f_output.write(''.join(i)) 
     f_output.write('\n') 
+1

'open()をfilevar:'とするのがベストプラクティスです。 – TemporalWolf

関連する問題