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