Я написал небольшую программу Python. Он выполняется каждые 15 минут, запустив main.py, который просто загружает 2 других скрипта python в качестве модулей.Значение импорта Python, если модуль не работает
Проблема заключается в том, что делать, когда один модуль выходит из строя (например, из-за потерянного подключения к Интернету). Один из модулей анализирует канал из Интернета. Если он терпит неудачу, он должен принять определенное значение. Проблема заключается в том, чтобы импортировать это значение в main.py.
Модуль:
[...]
feed=feedparser.parse(url)
if not feed.feed:
# Assume Error
print("Error")
Temperature = 20
print 'Assuming', Temperature, 'degrees C'
sys.exit()
Temperature = [...]
Когда я вызываю модуль к сбою, main.py завершает работу после импорта модуля. Как это исправить?
Я думаю, что это вызвано вызовом sys.exit(), но я не знаю, какую еще функцию я должен назвать?
Спасибо ...
У вас есть ошибки? Если это их уловить и повторить импорт до тех пор, пока он не будет работать. –
Разумеется, 'sys.exit()' просто выйдет немедленно, без ошибок. Если вы не хотите этого делать ... что именно вы хотите сделать? Если вы просто пропустите следующий бит кода, напишите 'if' /' else' и поместите следующий бит кода внутри 'else'. (Или, лучше, реорганизовать его в функцию и просто называть его внутри 'else'.) Но не видя больше своего кода (или, лучше, [урезанной версии] (http://sscce.org)) трудно дать более конкретную рекомендацию. – abarnert
Вы используете оператор import как неявный вызов процедуры. Это не то, для чего нужны модули. Лучше было бы поместить код в функцию и вызвать функцию. Кроме того, обрабатывайте ошибки более грациозно (например, не используя 'sys.exit()'). –