我正试图为两个类似的库编写一个包装器,这将为两个库都提供一个通用API。示例:
# file XY.version.py
try:
import X # primary library
__version__ = X.__version__
except ImportError:
import Y # fallback library
__version__ = Y.__y_version__PyCharm显示警告"'X' in try block with 'except ImportError' should also be defined in except block"。有什么简单的方法来重构代码以摆脱消息吗?当然,我可以在一开始或在except块中执行except,但这似乎是人为的,因为我只需要导入X才能获得版本。理想情况下,我不希望在命名空间中保留导入的跟踪。当然,理论上我可以在del X块的末尾执行try,但是这是我在任何地方都没有看到的,所以我假设人们不会使用它。它不会删除PyCharm中的警告消息。
注意:我知道这与Checking module name inside 'except ImportError'类似,但我相信这是不一样的。
发布于 2017-07-31 18:16:56
如果是这样的话:
# file XY.version.py
try:
import X # primary library
__version__ = X.__version__
except ImportError:
import Y as X # fallback library
__version__ = X.__y_version__然后在任何地方使用X。
发布于 2021-04-17 09:22:14
我看不到给出解决方案的任何答案,但请检查以下链接:https://pythonbasics.org/try-except/
给出一些例外和意义清单所需的线索。因此,如果您想摆脱烦人的消息,那么添加到异常中,如下所示:
try:
import X # primary library
__version__ = X.__version__
except ImportError(X):
import Y # fallback library
__version__ = Y.__y_version__在一个类似的例子中对我起作用,而且似乎不会影响结果。我正在使用Pycharm 2021.1 CE
https://stackoverflow.com/questions/42453848
复制相似问题