Я хочу использовать модуль, например BeautifulSoup, в моем коде Python, поэтому я обычно добавляю это в начало файла:
from BeautifulSoup import BeautifulSoup
Однако, когда я распространяю модуль, который я пишу, у других может не быть BeautifulSoup, поэтому я просто включу его в структуру каталогов следующим образом:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 9/19/2011 5:45 PM BeautifulSoup
-a--- 9/17/2011 8:06 PM 4212 myscript.py
Теперь мой модифицированный файл myscript.py будет выглядеть так в верхней части, чтобы ссылаться на локальную копию BeautifulSoup:
from BeautifulSoup.BeautifulSoup import BeautifulSoup, CData
Но что, если разработчик, использующий мою библиотеку, уже установил BeautifulSoup на своем компьютере? Я хочу изменить myscript.py, чтобы он проверял, установлен ли BeautifulSoup, и если да, то используйте стандартный модуль. В противном случае используйте входящий в комплект.
Использование псевдо-питона:
if fBeautifulSoupIsInstalled:
from BeautifulSoup import BeautifulSoup, CData
else:
from BeautifulSoup.BeautifulSoup import BeautifulSoup, CData
Возможно ли это? Если да, то как?