※ ChatGPTを利用し、要約された質問です(原文:python プログラミング vim)
Pythonプログラミングでファイルに結果を出力する方法
このQ&Aのポイント
Pythonのプログラミングでファイルに結果を出力する方法について説明します。
プログラムを実行した際に、ファイルに出力される結果が予想と異なる場合、原因と解決方法について解説します。
特に、指定したファイルに全ての結果が正しく出力されない場合の対処法を説明します。
#!/usr/bin/env python
#vim: fileencoding=utf-8
from math import*
import sys
outfp=open('test.dat','w')
outfq=open('ab.dat','w')
for line in open('para.dat','r'):
items=line.split('\t')
s=2/float(items[0])
u=float(items[1])-5+log(s/100)
outfp.write(str(s))
outfq.write(str(u))
outfp.close()
outfq.close()
////para.dat////
1 2
1 3
として、プログラムを実行したのですが、ファイルに出力した時に、
para.datの2列目(1 3)の計算した結果しか、ファイルに書き込まれてないのですが、
どうすれば、すべて反映されて、出力ファイルに結果が出せるのでしょうか。
よろしくお願いします。
お礼
すみません。インデントをうまくとるとできました。ありがとうございました。
補足
#!/usr/bin/env python #vim: fileencoding=utf-8 from math import* import sys outfp=open('test.dat','w') outfq=open('ab.dat','w') for line in open('para.dat','r'): items=line.split('\t') s=2/float(items[0]) u=float(items[1])-5+log(s/100) outfp.write(str(s)) outfq.write(str(u)) outfp.close() outfq.close() ////para.dat//// 1 2 1 3 すみません。インデントを施したものを示しました。また、確認は、ターミナルで vi ab.datで確認しました。 これだと、2列目の結果しか反映されません。おねがいします。