如何在python / pyraf中的对象列表上运行函数?

时间:2015-08-10 13:28:57

标签: python

我对脚本非常陌生并且有一个相对简单的问题,我希望有人可以提供帮助。

所以我有一个FITS图像文件,我基本上在iraf中使用这个名为imcopy的函数复制它的小部分:

http://stsdas.stsci.edu/cgi-bin/gethelp.cgi?imcopy

该函数要求我提供两个x输入和两个y输入,如下所示:

imcopy image.fits[x1:x2,y1:y2] output.fits

但是我在文本文件中有大约300个这些x1,x2,x3,x4输入行,我想知道是否有可能以某种方式使用python脚本提供这个文本文件。

我想象pyraf中的一个循环(使用python语言)为每一行运行上面的函数可能是一种可能,但我只是刚开始学习python所以我不太熟悉它呢。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

使用pyraf你可以这样做:

from pyraf import iraf
file_list = ['image1.fits', 'image2.fits']
for f in file_list:
    iraf.imcopy(input = f + '[x1:x2,y1:y2]', output = f.split('.fits')[0]  + '_out')