Я работаю над документацией (личной) для библиотеки вложенных matplotlib (MPL), которая отличается от предоставленной MPL заинтересованными пакетами подмодулей. Я пишу скрипт Python, который, я надеюсь, автоматизирует создание документов из будущих выпусков MPL.
Я выбрал заинтересованные подмодули/пакеты и хочу перечислить их основные классы, из которых я буду генерировать список и обработать его с pydoc
модуль импорта из строковой переменной
Проблемы в том, что я не могу найти способ, чтобы инструктировать Python для загрузки подмодуля из строки. Вот пример того, что я пробовал:
import matplotlib.text as text
x = dir(text)
.
i = __import__('matplotlib.text')
y = dir(i)
.
j = __import__('matplotlib')
z = dir(j)
А вот 3 способа сравнения выше списков через pprint:
Я не понимаю, что загружается в y
объект - это база matplotlib
плюс что-то еще, но не хватает информации что я хотел, и это основные классы от matplotlib.text
. Это верхняя часть синего цвета на снимке экрана (x
)
Пожалуйста, не предлагайте Sphinx как другой подход.
Можете ли вы объяснить, почему вам нужно использовать '__import __ (str)', а не стандартный 'import' statemetn? – thesamet
Это потому, что я обработаю списки, которые являются подмодулями MPL и получат пути их методов. – theta
@thesamet - c'mon - есть бесконечные идеи, в которых вы хотели бы использовать эту функциональность. Когда у вас есть текстовая конфигурация библиотек, вы можете загрузить их по имени, что не будет работать с оператором 'import'. Вот один из примеров использования: https://djangosnippets.org/snippets/3048/ –