仅当模块尚未存在时,才在Python中导入该模块

2024-04-27 00:59:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Python代码中使用一个模块,例如beauthoulsoup,因此我通常在文件的顶部添加以下内容:

from BeautifulSoup import BeautifulSoup

但是,当我分发我正在编写的模块时,其他人可能没有beauthulsoup,所以我只将它包含在我的目录结构中,如下所示:

^{pr2}$

现在,我的修改myscript.py文件将在顶部显示如下,以引用BeautifulSoup的本地副本:

from BeautifulSoup.BeautifulSoup import BeautifulSoup, CData

但是如果使用我的库的开发者已经在他们的机器上安装了beauthoulsoup呢?我想修改myscript.py这样它就可以检查beauthoulsoup是否已经安装,如果已经安装,则使用标准模块。否则,请使用附带的。在

使用伪python:

if fBeautifulSoupIsInstalled:
    from BeautifulSoup import BeautifulSoup, CData
else:
    from BeautifulSoup.BeautifulSoup import BeautifulSoup, CData

这可能吗?如果是,怎么办?在


Tags: 模块文件代码frompyimport目录副本
1条回答
网友
1楼 · 发布于 2024-04-27 00:59:40

通常在Python中使用以下模式来处理这种情况。在

首先将你的BeautifulSoup模块改名为其他名称,例如MyBeautifulSoup

然后:

try:
    import BeautifulSoup # Standard
except ImportError:
    import MyBeautifulSoup as BeautifulSoup # internal distribution

相关问题 更多 >