我有一个代码,它使用for循环从某个表中提取光的大小(在本例中称为phot_bp_rp_excess_factor) (Bp)。
我的代码:
coord =SkyCoord(table["ra"], table["dec"], frame="icrs", unit="deg")
for i in coord:
r= Gaia.query_object_async(coordinate=i, width = u.Quantity(0.0005, u.deg), height=u.Quantity(0.0005, u.deg))
bp=[r["phot_bp_rp_excess_factor"]]
print (bp[-1]) 输出/命令提示显示:
INFO: Query finished. [astroquery.utils.tap.core]
phot_bp_rp_excess_factor
------------------------
11.4
INFO: Query finished. [astroquery.utils.tap.core]
phot_bp_rp_excess_factor
------------------------
14.4
...然而,我只需要这个数字,在这个例子中,11.4和14.4。我不希望它每次做循环时都说" INFO: Query finished. [astroquery.utils.tap.core]" phot_bp_rp_excess_factor,因为我正试图创建一个列表/数组,显示我的轻量级数字。有人知道怎么做吗?
编辑:我不知道这些信息是否与解决问题相关,但是这里我使用的是Astropy库,Skycoord来自那个库。
发布于 2021-06-01 05:26:22
基于图书馆资源的最佳选择是它只是一个logging记录器。
你可以把详细的为那个特定的记录器。
import logging
logger = logging.getLogger("astroquery")
logger.setLevel(logging.INFO)但总而言之,最好不要介意日志记录消息,并将数据收集/打印阶段分开:
coord = SkyCoord(table["ra"], table["dec"], frame="icrs", unit="deg")
data = []
for i in coord:
r = Gaia.query_object_async(
coordinate=i,
width=u.Quantity(0.0005, u.deg),
height=u.Quantity(0.0005, u.deg),
)
bp = r["phot_bp_rp_excess_factor"]
data.append((i, bp))
for i, bp in data:
print(i, bp) # Or whichever formatting you'd like此外,日志数据通常会转到标准错误流,而不是标准输出流,因此,如果您从命令行运行程序,您只需重定向到一个文件,并且只能获得print()输出:
python myscript.py > output.txthttps://stackoverflow.com/questions/67783065
复制相似问题