私はPythonでのプログラミングが初めてで、Pythonで1つのコードで何千ものファイルを処理するセットアップを作成しようとしています。これを行うための練習用フォルダーを作成しました。その中には、2 つの FITS ファイル (FITS1.fits と FITS2.fits) があります。両方を .txt ファイルに入れるために次のことを行いました。
ls > practice.txt
これが私が次にしたことです:
$ python
import numpy
import pyfits
import matplotlib.pyplot as plt
from matplotlib import pylab
from pylab import *
import asciidata
a = asciidata.open('practice.txt')
print a[0][0] #To test to see if practice.txt really contains my FITS files FITS1.fits
i = 0
while i <=1 #Now I attempt a while loop to read data from columns in FITS files, plot the numbers desired, save and show the figures. I chose i <=1 because there are only two FITS files in the text(also because of zero-indexing).
b = pyfits.getdata(a[0][i]) # "i" will be the index used to use a different file when the while loop gets to the end
time = b['TIME'] #'TIME' is a column in the FITS file
brightness = b['SAP_FLUX']
plt.plot(time, brightness)
xlabel('Time(days)')
ylabel('Brightness (e-/s)')
title(a[0][i])
pylab.savefig('a[0][i].png') #Here am I lost on how to get the while loop to name the saved figure something different every time. It takes the 'a[0][i].png' as a string and not as the index I am trying to make it be.
pylab.show()
i=i+1 # I placed this here, hoping that when the while loop gets to this point, it would start over again with a different "i" value
Enter キーを 2 回押した後、期待どおりに最初の図が表示されます。それから私はそれを閉じて、2番目を見ます。ただし、最初の図のみが保存されます。ループを変更して必要なことを行う方法について誰か提案がありますか?