Как сделать несколько импорта в Python?

В Ruby, вместо того, чтобы повторить "требование" ("импорт" в Python) слово много времен, я делаю

%w{lib1 lib2 lib3 lib4 lib5}.each { |x| require x }

Таким образом, это выполняет итерации по набору, "освобождает", и "потребуйте" (импортируют) каждого из них. Теперь я пишу сценарий Python, и я хотел бы сделать что-то как этот. Есть ли путь к, или сделайте я должен записать "импорт" для всех них.

Простая "клевета" была бы чем-то как следующий код. Так или иначе, так как Python не импортирует, освобождает названный как строки, он не работает.

requirements = [lib1, lib2, lib3, lib4, lib5]
for lib in requirements:
    import lib

Заранее спасибо

28
задан Ben Hare 24 November 2017 в 15:39
поделиться

4 ответа

Для известных модулей просто разделяйте их запятыми:

import lib1, lib2, lib3, lib4, lib5

Если вам действительно нужно программно импортировать на основе динамических переменных, то буквальный перевод вашего ruby будет:

modnames = "lib1 lib2 lib3 lib4 lib5".split()
for lib in modnames:
    globals()[lib] = __import__(lib)

Хотя в вашем примере в этом нет необходимости.

48
ответ дан 28 November 2019 в 02:34
поделиться

Попробуйте следующее:

import lib1, lib2, lib3, lib4, lib5

Вы также можете изменить имя, под которым они импортируются, таким образом, например:

import lib1 as l1, lib2 as l2, lib3, lib4 as l4, lib5
17
ответ дан 28 November 2019 в 02:34
поделиться

импорт lib1, lib2, lib3, lib4, lib5

9
ответ дан 28 November 2019 в 02:34
поделиться

Вы можете импортировать из строки, которая содержит имя вашего модуля с помощью функции __ import __ .

requirements = [lib1, lib2, lib3, lib4, lib5]
for lib in requirements:
    x = __import__(lib)
4
ответ дан 28 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: