仅当系统上有可用的包时才创建类

2024-04-20 10:18:49 发布

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

我在Python项目中有依赖于外部包的类。我希望这些类只有在它们的依赖关系可用时才被创建。你知道吗

例如,我如何拥有一个类YamlParser,它只存在于yaml可以导入的情况下?你知道吗


Tags: 项目yaml关系情况yamlparser
3条回答

您可以在try-except块中执行此操作。你知道吗

但是,如果您想在其他地方访问类,这可能会使事情变得非常复杂,因为错误处理将变得越来越复杂。你知道吗

try:
    import yaml
    Class YamlParser():
        pass
except ImportError:
    pass
    #error handling here

您还可以在How to check if a python module exists without importing it中找到不使用import语句的方法。你知道吗

使用try和except处理此情况:

try:
    import yaml
    ## your code goes here
except ImportError:
    ## here you handle the expcetion

模块化和可扩展的解决方案是将YamlParser放在它自己的源文件中,只需将import yaml语句放在开头。如果所需的模块yaml丢失,任何尝试import此代码的代码都将失败。你知道吗

相关问题 更多 >