Можете ли вы импортировать библиотеки в операторы if в Python?Python

Программы на Python
Anonymous
Можете ли вы импортировать библиотеки в операторы if в Python?

Сообщение Anonymous »

Я работаю над кодом, который получает данные с веб-сайта и затем преобразует их в объект данных, который будет работать с любой библиотекой машинного обучения, которую использует пользователь. Я также хотел выполнить некоторую предварительную обработку этих данных, чтобы с ними было проще работать, но многие инструменты предварительной обработки в некотором роде зависят от библиотеки, и я не хочу, чтобы пользователю приходилось загружать библиотеку, которой он не использует. собираюсь использовать, поэтому я не хочу просто пытаться импортировать все библиотеки, которые я пытаюсь поддерживать, вверху. Например, если пользователь использует scikit-learn, ему не обязательно устанавливать Pytorch. Мне было интересно, могу ли я вместо этого поместить эти операторы импорта в оператор if, который выполняет предварительную обработку с помощью инструментов конкретной библиотеки. Код будет выглядеть примерно так:

Код: Выделить всё

class ML_Library(Enum):

SKLEARN == 1
PYTORCH == 2

def DataReturningFunction(Library):

# some code that gets the raw data from the website

if Library == ML_Library.SKLEARN:

import sklearn

# some code that does data preprocessing with sklearn tools

return (DataObject that works with Scikit-Learn)

if Library == ML_Library.PYTORCH:

import pytorch

# some code that does data preprocessing with pytorch tools

return (DataObject that works with Pytorch)

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

Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-python

Вернуться в «Python»