python - AttributeError: объект 'pyodbc.Row' не имеет атрибута 'JobCount'

У меня есть запрос, который получает данные из базы данных и возвращает значения, чтобы я мог разобрать.

def executeScriptsFromFile(monitor):
    # Open and read the file as a single buffer
    fd = open(os.path.join(BASE_DIR, 'sql/{0}.sql'.format(monitor)), 'r')
    if args.alias:
        sql_query = fd.read().format("'" + args.alias + "'")
    else:
        sql_query = fd.read()
    fd.close()

    # Execute SQL query from the input file
    cursor.execute(sql_query)
    result = cursor.fetchone()
    return result

Запрос может отличаться, поэтому я пытаюсь встроить логику, чтобы пропустить часть, если JobCount не является одним из значений.

query_data =  executeScriptsFromFile(args.monitor)
print query_data
if query_data.JobCount:
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status

К сожалению, я получаю следующую трассировку. Как мне игнорировать значение, если его там нет?

Traceback (most recent call last):
  File "tidal-zabbix.py", line 92, in <module>
    if query_data.JobCount:
AttributeError: 'pyodbc.Row' object has no attribute 'JobCount'

1 ответ

Решение

Если вы хотите проверить, 'JobCount' является атрибутом query_data использование hasattr()

if hasattr(query_data, 'JobCount'):
    print query_data.JobCount
else:
    send_status = send_data(job_data)
    print send_status
Другие вопросы по тегам