我已经编写了一段从 python 运行 sextractor 的代码,但是我只知道如何为一个文件执行此操作,并且我需要在 62 个文件上循环它。我不知道我会怎么做。我在下面附上了我的代码:
#!/usr/bin/env python
# build a catalog using sextractor on des image here
sys.path.append('/home/fitsfiles') #not sure if this does anything/is correct
def sex(image, output, sexdir='/home/sextractor-2.5.0', check_img=None,config=None, l=None) :
'''Construct a sextractor command and run it.'''
#creates a sextractor line e.g sex img.fits -catalog_name -checkimage_name
q="/home/fitsfiles/"+ "01" +".fits"
com = [ "sex ", q, " -CATALOG_NAME " + output]
s0=''
com = s0.join(com)
res = os.system(com)
return res
img_name=sys.argv[0]
output=img_name[0:1]+'_star_catalog.fits'
t=sex(img_name,output)
print '----done !---'
所以这段代码在我的主终端中生成一个命令,性别 /home/fitsfiles/01.fits -CATALOG_NAME g_star_catalog.fits
它成功地生成了我想要的星表。
但是,我希望我的代码适用于 62 个 fit 文件,并根据使用的 fitfile 更改 star_catalog.fits 的名称。任何帮助,将不胜感激。