Where is this TypeError coming from? (Using actin for stellar activity indices) TypeError: expected str, bytes or os.PathLike object, not bool
Where is this TypeError coming from? (Using actin for stellar activity indices) TypeError: expected str, bytes or os.PathLike object, not bool
我正在使用可在此处找到的软件包:https://github.com/gomesdasilva/ACTIN 来查找二进制系统的 activity 索引。最初,我 运行 spyder 上的独立测试文件中的代码似乎一切正常:
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=False, targ_list='J0608-59',
del_out=False, frac=True, test=False, save_plots=False)
EXECUTING ACTIN_FILE
--------------------
Executing: check_targ
Targets = J0608-59
Object = J0608-59
LOADING DATA FROM CONFIG FILE
-----------------------------
CaIIK
CaIIH
CaIIR1
CaIIR2
READING DATA FROM FILE:
-----------------------
Working folder: C://Users//Rp199/Desktop//J0608_59_harps_2018\
Reading file: HARPS.2019-08-22T08_37_32.360_s1d_A.fits
Telescope: ESO-3P6
Instrument: HARPS
Object: J0608-59
*** WARNING: Could not find or open:
*** C://Users//Rp199/Desktop//J0608_59_harps_2018\HARPS.2019-08-22T*_ccf_*_A.fits
*** WARNING: No CCF data available.
*** WARNING: Could not find or open:
*** C://Users//Rp199/Desktop//J0608_59_harps_2018\HARPS.2019-08-22T*_bis_*_A.fits
*** WARNING: No BIS data available.
*** ERROR: No rv data available to calibrate wavelength.
---------------------------------
Fractional pixels: True
Files analysed: 1
Save output: True
Elapsed time: 0.0013 min
输出表明它没有正确的 CCF 和 BIS 文件。
我现在尝试 运行 另一个适合文件的代码,但是,在这个文件夹中有 BIS 和 CCF 文件并接收输出:
READING DATA FROM FILE:
-----------------------
Working folder: C://Users//Rp199//Desktop//DATA_NEW\
Reading file: HARPS.2019-01-20T05_16_29.969_s1d_A.fits
Telescope: ESO-3P6
Instrument: HARPS
Object: J0608-59
CCF file: HARPS.2019-01-20T05_16_29.969_ccf_G2_A.fits
BIS file: HARPS.2019-01-20T05_16_29.969_bis_G2_A.fits
Executing check_duplicate:
Traceback (most recent call last):
File "C:\Users\Rp199\Desktop\actintest.py", line 10, in <module>
actin.actin("C://Users//Rp199//Desktop//DATA_NEW//HARPS.2019-01-20T05_16_29.969_s1d_A.fits",
File "C:\Users\Rp199\anaconda3\lib\site-packages\actin\actin.py", line 225, in actin
output = actin_file(files_list[k][i][j],
File "C:\Users\Rp199\anaconda3\lib\site-packages\actin\actin.py", line 92, in actin_file
dupl = ac_save.check_duplicate(data['obj'], data['obs_date'], data['instr'], data['file_type'], save_output)
File "C:\Users\Rp199\anaconda3\Lib\site-packages\actin\actin_files\ac_save.py", line 45, in check_duplicate
pfile_name = os.path.join(out_dir, obj, file_name)
File "C:\Users\Rp199\anaconda3\lib\ntpath.py", line 78, in join
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not bool
我很困惑为什么会出现这个错误,尤其是在同一文件夹中使用没有任何 CCF 或 BIS 文件的独立文件进行测试时,没有任何错误。
谢谢
仔细阅读回溯可以看出,如果 save_output
参数不是 False
,则它必须是指定输出目录的字符串。这是不明显的,因为它没有写在文档字符串中,并且该参数的默认值是 False
表明它也可以在您传递时采用 True
。但是这个包的代码以非惯用的方式做了很多事情,这可能会导致其他问题。稍后有空再联系作者,看看能不能提供改进的建议。
我正在使用可在此处找到的软件包:https://github.com/gomesdasilva/ACTIN 来查找二进制系统的 activity 索引。最初,我 运行 spyder 上的独立测试文件中的代码似乎一切正常:
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=False, targ_list='J0608-59',
del_out=False, frac=True, test=False, save_plots=False)
EXECUTING ACTIN_FILE
--------------------
Executing: check_targ
Targets = J0608-59
Object = J0608-59
LOADING DATA FROM CONFIG FILE
-----------------------------
CaIIK
CaIIH
CaIIR1
CaIIR2
READING DATA FROM FILE:
-----------------------
Working folder: C://Users//Rp199/Desktop//J0608_59_harps_2018\
Reading file: HARPS.2019-08-22T08_37_32.360_s1d_A.fits
Telescope: ESO-3P6
Instrument: HARPS
Object: J0608-59
*** WARNING: Could not find or open:
*** C://Users//Rp199/Desktop//J0608_59_harps_2018\HARPS.2019-08-22T*_ccf_*_A.fits
*** WARNING: No CCF data available.
*** WARNING: Could not find or open:
*** C://Users//Rp199/Desktop//J0608_59_harps_2018\HARPS.2019-08-22T*_bis_*_A.fits
*** WARNING: No BIS data available.
*** ERROR: No rv data available to calibrate wavelength.
---------------------------------
Fractional pixels: True
Files analysed: 1
Save output: True
Elapsed time: 0.0013 min
输出表明它没有正确的 CCF 和 BIS 文件。
我现在尝试 运行 另一个适合文件的代码,但是,在这个文件夹中有 BIS 和 CCF 文件并接收输出:
READING DATA FROM FILE:
-----------------------
Working folder: C://Users//Rp199//Desktop//DATA_NEW\
Reading file: HARPS.2019-01-20T05_16_29.969_s1d_A.fits
Telescope: ESO-3P6
Instrument: HARPS
Object: J0608-59
CCF file: HARPS.2019-01-20T05_16_29.969_ccf_G2_A.fits
BIS file: HARPS.2019-01-20T05_16_29.969_bis_G2_A.fits
Executing check_duplicate:
Traceback (most recent call last):
File "C:\Users\Rp199\Desktop\actintest.py", line 10, in <module>
actin.actin("C://Users//Rp199//Desktop//DATA_NEW//HARPS.2019-01-20T05_16_29.969_s1d_A.fits",
File "C:\Users\Rp199\anaconda3\lib\site-packages\actin\actin.py", line 225, in actin
output = actin_file(files_list[k][i][j],
File "C:\Users\Rp199\anaconda3\lib\site-packages\actin\actin.py", line 92, in actin_file
dupl = ac_save.check_duplicate(data['obj'], data['obs_date'], data['instr'], data['file_type'], save_output)
File "C:\Users\Rp199\anaconda3\Lib\site-packages\actin\actin_files\ac_save.py", line 45, in check_duplicate
pfile_name = os.path.join(out_dir, obj, file_name)
File "C:\Users\Rp199\anaconda3\lib\ntpath.py", line 78, in join
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not bool
我很困惑为什么会出现这个错误,尤其是在同一文件夹中使用没有任何 CCF 或 BIS 文件的独立文件进行测试时,没有任何错误。
谢谢
仔细阅读回溯可以看出,如果 save_output
参数不是 False
,则它必须是指定输出目录的字符串。这是不明显的,因为它没有写在文档字符串中,并且该参数的默认值是 False
表明它也可以在您传递时采用 True
。但是这个包的代码以非惯用的方式做了很多事情,这可能会导致其他问题。稍后有空再联系作者,看看能不能提供改进的建议。