【发布时间】:2011-02-17 05:22:12
【问题描述】:
我需要编写一个可同时用于 CPython 和 IronPython 的模块。检测 IronPython 的最佳方法是什么,因为在这种情况下我需要稍微不同的行为?
我注意到 sys.platform 在 CPython 上是“win32”,但在 IronPython 上是“cli”。
是否有另一种首选/标准的检测方法?
【问题讨论】:
-
顺便说一句,如果您可以检测到您正在尝试解决的不同运行时行为,那么与直接将其绑定到解释器相比,这可能是检测要做什么的更好方法。例如,有人可能会分叉 IronPython;由于名称“IronPython”会更改,因此您的代码将不起作用。该问题也可能会在未来的版本中得到修复,从而导致您的解决方法失效。
-
这个问题过时了吗?文档写道 IronPython 的
sys.platform返回与 CPython ironpython-test.readthedocs.io/en/latest/library/sys.html 类似的输出
标签: python ironpython version detection