画面出力を単一のファイルにリダイレクトすることについて質問を受けました。画面出力を印刷するコードは次のとおりです。
for O,x,y,z,M,n in coordinate:
print(O,x,y,z,M,n)
画面出力は次のようになります。
O 0 0 0 ! 1
O 1 0 0 ! 2
O 2 0 0 ! 3
では、画面出力のように、すべてのデータを単一のファイルに同じ形式でリダイレクトするにはどうすればよいでしょうか。画面出力が完了するのを待つよりも、すべてのデータを取得する方がはるかに高速になるためです。試してみfor point in coordinate:
file.write(' '.join(str(s) for s in point))
ましたが、出力ファイルは次のようになりました:
O 0 0 0 ! 0O 1 0 0 ! 1O 2 0 0 ! 2O 3 0 0 ! 3O 4 0 0 ! 4O 5 0 0 ! 5O 6 0 0 ! 6O