Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 9, 2016 11:29:30

bsv_144
Зарегистрирован: 2016-08-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключения от подключенного модуля

Всем добрый день !

Как правильно ловить пользовательские исключения.

Пишу скрипт которы работает по API с сервреров Zabbix.
Подключаю класс ZabbixAPI
from zabbix_api import ZabbixAPI
Выполняю запрос к серверу zabbix через
try:
zapi.host.create({“host”:hostName,“name”:visibleName,“interfaces”:,“groups”:groupsid,“templates”:templatesid})
print(“Хост”, hostName, “создан”)
except zabbix_api.Already_Exists:
print(“Хост”, hostName, “уже существует”)

При этом если хост сущестувует то генерится исключение zabbix_api.Already_Exists
Это исключение можно поймать только если подключить модуль zabbix_api польность, т.е. Import zabbix_api
Ранее читал что подключение модуля полностью есть нехорошая практика.

Прошу совета гуру Python как правильно поступить в данном случае ?


Офлайн

#2 Авг. 9, 2016 12:39:30

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Исключения от подключенного модуля

Ну так в чём проблема импортировать ещё и нужные исключения?



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#3 Авг. 9, 2016 13:49:51

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Исключения от подключенного модуля

bsv_144
Вот так плохо и не рекомендуется делать:

 from module import *
foo()
bar()
Вот так нормально:
 import module
module.foo()
module.bar()
Можно через from module import импортировать все необходимые имена через запятую
 from module import foo, bar
foo()
bar()



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Авг. 10, 2016 09:15:39

bsv_144
Зарегистрирован: 2016-08-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Исключения от подключенного модуля

Спасибо за ответы.
Сделал from zabbix_api import Already_Exists и всё пошло как надо.

Много читал про импорт модулей и особо не обращал внимание по чему плохо from module import *
Теперь всё встало на свои места :-)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version