我在Python项目中有依赖于外部包的类。我希望只有在它们的依赖项可用时才能创建这些类。
例如,如果可以导入YamlParser
,我怎样才能拥有仅存在的yaml
课程?
答案 0 :(得分:2)
您可以在try
- except
区块中执行此操作。
但是,如果您想在其他地方访问该类,这可能会使事情变得非常复杂,因为错误处理将变得越来越复杂。
try:
import yaml
Class YamlParser():
pass
except ImportError:
pass
#error handling here
如果没有import语句,您还可以看到How to check if a python module exists without importing it的方法。
答案 1 :(得分:1)
使用try和except来处理这种情况:
try:
import yaml
## your code goes here
except ImportError:
## here you handle the expcetion
答案 2 :(得分:0)
模块化和可扩展的解决方案是将YamlParser
放在自己的源文件中,并简单地将import yaml
语句放在开头。如果缺少必需的模块import
,那么尝试yaml
此代码的任何代码都将失败。