Assertionerror - 只显示错误信息

Assertionerror - Display only error message

我有以下代码,只想打印错误(未找到数据,符号可能已被删除)。

是否可以编写更好的代码?

import yahoo_fin.stock_info as si
import sys
try:
    quoteinfo = si.get_data("badticker",start_date = "01/01/2022", end_date = "04/30/2022")
    print(quoteinfo)
except AssertionError as e:
    if (  "symbol may be delisted" in str(e)) :
        print ('Ticker is invalid')
    else:
        print(e)

异常:

{'chart': {'result': None, 'error': {'code': 'Not Found', 'description': 'No data found, symbol may be delisted'}}}

您的代码看起来基本没问题。然而:

  1. 我会对照完整的字符串进行检查:'No data found, symbol may be delisted' 处于保存状态,
  2. if-语句中的括号是多余的,
  3. 你有未使用的导入,
  4. 您的代码也可以使用一些格式。
import yahoo_fin.stock_info as si

try:
    quoteinfo = si.get_data("badticker", start_date="01/01/2022", end_date="04/30/2022")
except AssertionError as e:
    if "No data found, symbol may be delisted" in str(e):
        print("Ticker is invalid")
    else:
        print(e)