【发布时间】:2019-01-19 16:02:12
【问题描述】:
在代码继续开始计算之前,我正在尝试确保所有文件(在我的情况下为“ccf_table”、“bis_file”)都存在于目录中。如果其中任何一个(bis_file,ccf_table)不在任何输入文件的目录中(在我的情况下为“文件名”),那么只需传递该输入文件。
path = "/home/Desktop/s1d_data"
for filename in os.listdir(path):
if filename.endswith("_s1d_A.fits"):
s1d_hdu = fits.open(filename)
s1d_header = s1d_hdu[0].header
date = s1d_header['DATE-OBS']
date2 = date = date[0:19]
ccf_table = glob('HARPS.' + date2 + '*_ccf_G2_A.tbl')
bis_file = glob('HARPS.' + date2 + '*_bis_G2_A.fits')
filelist = ['ccf_table','bis_file']
while True:
list1 = []
for file in filelist:
list1.append(os.path.isfile(file))
if all(list1):
break
else:
pass
df=pd.read_table(ccf_table[0],skiprows=2,usecols=(0,4),names=['order','rv'],)
df = df.rv.mean()
out_name = s1d_header['OBJECT'] +'-' + s1d_header['DATE-OBS'] +'.fits'
这是我到目前为止所尝试的,但没有得到想要的结果。任何帮助将不胜感激。
【问题讨论】:
-
您是否使用
os.path.isfile结账? stackoverflow.com/questions/2259382/… -
不,我没有我们如何执行它?
-
您似乎正在尝试创建工作流。如果您使用更多此类规则,我建议您查看诸如snakemake或luigi之类的工作流框架
-
这基本上不是您上一个问题或之前那个问题的重复吗? stackoverflow.com/questions/51749269/… 似乎您仍在为正确获取相同代码的文件处理逻辑而苦苦挣扎。也许有当地人可以提供帮助?或者,如果您想将此移至聊天室,我可以帮助您编写代码。
-
另外,在发布 Python 代码时,请确保缩进与您所拥有的完全相同(您可以将代码直接复制并粘贴到 SO 编辑器中,用鼠标选择它,然后按 Ctrl- K 同时缩进)