python - 导入类实例化

标签 python python-2.7

我正在创建一个包含多个类的模块。我的问题是其中一些类需要导入非常具体的模块,这些模块需要手动编译或需要特定的硬件才能工作。

没有兴趣预先导入每个特定模块,并且由于某些模块需要特定硬件才能工作,它甚至可能引发错误。

我想知道是否可以仅在需要时导入这些模块,即在精确类的实例化时,如下所示:

class SpecificClassThatNeedRandomModule(object):
    import randomModule

此外,我不确定这是否是一种很好的 pythonic 方式来完成这个技巧,所以我愿意接受有关正确方法的建议。

最佳答案

可以在实例化时导入模块:

class SpecificClassThatNeedRandomModule(object):
    def __init__(self):
        import randomModule
        self.random = randomModule.Random()

但是,这是一种不好的做法,因为它很难知道导入何时完成。您可能想要修改您的模块,使其不会引发异常,或捕获 ImportError:

try:
    import randomModule
except ImportError:
    randomModule = None

关于python - 导入类实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844050/

相关文章:

python - 在 golang 中使用 mgo 排序为接口(interface)数组的字符串数组

python - 该字段没有指定默认值,但为 NOT NULL

python - 如何在 statsmodel ols 回归中包含滞后变量

c++ - Boost python 和 Mac Mavericks

python-2.7 - 如何为 API 数据的 requests.get 命令传递日期参数?

Python 异常处理 -- 回行,继续

python - 使用 --target 安装的包的 pip freeze

python - PyUSB 无法识别特定的 USB 设备

python - 用连字符/破折号比较两个 Python 字符串

python - 在 Python 中将数字四舍五入到 5 万