![](/img/trans.png)
[英]Registering a Prometheus metric in Python ONLY if it doesn't already exist
[英]Import a module in Python only if it doesn't already exist
我想在我的Python代碼中使用一個模塊,例如BeautifulSoup,所以我通常將它添加到文件的頂部:
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,如果已安裝,請使用標准模塊。 否則,請使用附帶的一個。
使用Pseudo-python:
if fBeautifulSoupIsInstalled:
from BeautifulSoup import BeautifulSoup, CData
else:
from BeautifulSoup.BeautifulSoup import BeautifulSoup, CData
這可能嗎? 如果是這樣,怎么樣?
通常,以下模式用於在Python中處理這種情況。
首先將您的BeautifulSoup模塊重命名為其他內容,例如MyBeautifulSoup
然后:
try:
import BeautifulSoup # Standard
except ImportError:
import MyBeautifulSoup as BeautifulSoup # internal distribution
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.