Изменение потока программы на основе доступных библиотек
Я разрабатываю модель Python, которая будет поддерживать графическое отображение, если будут установлены правильные модули. Я хотел бы, чтобы исходный код был таким же, если возможно, IE, если модель графического моделирования не может загружаться, графическое отображение будет проигнорировано из логики меню.
Как я могу это сделать?
- Выбор размера маркера в Matplotlib
- как запустить / остановить функцию python с 10 до 12:30
- Как увеличить размер шрифта plt.title?
- Диафрагма
- Положение участка / разброса и размер маркера в тех же координатах
Попытайтесь импортировать и установите флаг, если сбой. Затем используйте флаг, чтобы определить, следует ли предлагать графический вывод:
try: import Tkinter gui_installed = True except ImportError: gui_installed = False ... result = somecalc() if gui_installed: display_with_gui(result) else: display_as_text(result)
Да. Вы можете обернуть оператор import
в блок try
except
. Он обычно используется для обеспечения обратной совместимости. Например, импортируя модуль возврата в качестве требуемого модуля. Таким образом, остальная часть кода может не обращать внимания на то, какой модуль действительно используется.
Вместо флага, предложенного @ Раймондом Хеттингером, вы можете установить None
на фактическое имя, которое предоставляет дополнительные возможности:
try: import Tkinter except ImportError: display_with_gui = None else: def display_with_gui(): # use Tkinter here pass result = somecalc() if display_with_gui: display_with_gui(result) else: display_as_text(result)
- Что такое эквивалент get_Text () в привязках python для Selenium / Webdriver
- Как связать существующий метод экземпляра в одном классе с другим классом?
- Pylab: наложение меток на цвета
- расширенный бар-график matplotlib
- Использование цветовой карты с рассеиванием боке
- Если вы ищете быстрый способ найти многоугольник, то точка принадлежит Shapely
- Как строить события вовремя при использовании matplotlib
- рендеринг графика в python (визуализация блок-схемы)
- растрирование содержимого оси matplotlib (но не рамки, метки)
- Как построить график рассеяния с использованием вывода гистограммы в matplotlib?
- Python мой разброс не работает