You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ACTIN计算恒星活动指数时TypeError报错原因咨询

解决ACTIN包处理带CCF/BIS文件时的TypeError问题

从你的报错信息和代码调用来看,问题出在**obj_name参数的赋值上**:你传入了obj_name=False,但这个参数应该接收字符串类型的目标对象名称,而非布尔值。

为什么无CCF/BIS的文件能正常运行?

当处理没有CCF和BIS的文件时,ACTIN的代码逻辑可能跳过了check_duplicate检查步骤(或者该分支下未使用obj_name的值),所以布尔值没有触发错误。但当存在CCF/BIS文件时,代码会执行重复文件检查,此时obj_name=False被当作对象名称传入check_duplicate函数,而os.path.join需要字符串路径,自然就抛出了TypeError: expected str, bytes or os.PathLike object, not bool。

修复方案

把obj_name参数从False改成你指定的目标对象名称(也就是targ_list里的'J0608-59'),修改后的调用代码如下:

import actin.actin as actin
actin.actin(
    "C://Users//Rp199/Desktop//J0608_59_harps_2018//HARPS.2019-08-22T08_37_32.360_s1d_A.fits",
    calc_index=['I_CaII'],
    rv_in=None,
    config_file="C:\Users\Rp199\anaconda3\Lib\site-packages\actin\config_lines.txt",
    save_output=True,
    ln_plts=False,
    obj_name='J0608-59',  # 这里改为字符串类型的对象名称
    targ_list='J0608-59',
    del_out=False,
    frac=True,
    test=False,
    save_plots=False
)

另外你也可以检查ACTIN包的文档确认obj_name参数的预期类型——它是用来指定输出文件中使用的对象名称,而非布尔开关。如果不需要自定义名称,也可以不传这个参数,让代码自动从FITS文件头中读取对象名称。

内容的提问来源于stack exchange,提问作者Rikesh Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:19:28