小编Jer*_*emy的帖子

如何正确处理python中的可选功能

我正在研究实现科学模型的python软件包,我想知道什么是处理可选功能的最佳方法。这是我想要的行为:如果无法导入一些可选的依赖项(例如,在无头计算机上绘制模块),我想在我的类中禁用使用这些模块的功能,并警告用户如果他尝试使用它们以及所有这些,而不会破坏执行力。因此以下脚本在任何情况下均适用:

mymodel.dostuff()
mymodel.plot() <= only plots if possible, else display log an error 
mymodel.domorestuff() <= get executed regardless of the result of the previous statement
Run Code Online (Sandbox Code Playgroud)

到目前为止,我看到的选项如下:

  • 检入__init __.py可用模块并保留它们的列表(但是如何在包装的其余部分中正确使用它?)
  • 对于依赖于可选依赖项的每个函数,都有一条try import ... except ...语句
  • 将功能取决于特定模块放在单独的文件中

这些选项应该可以使用,但是它们似乎都非常笨拙且难以维护。如果我们想完全删除依赖项怎么办?还是强制性?

python python-3.x

5
推荐指数
1
解决办法
1038
查看次数

标签 统计

python ×1

python-3.x ×1