我很确定 python 脚本可以在所有这三个中工作,但我想确定一下。我在这里和那里读到过有关可以编写 CPython、Jython、IronPython 的编辑器的信息,我希望我能深入了解其中的区别。
我的情况是我要测试 3 个不同的 API。每个 api 在代码方面执行相同的功能,但它们在实现上有所不同。我正在围绕每种语言的 api 编写包装器。每个包装器都应该使用 Boost::python、Jython 和 IronPython 向 python 公开完全相同的功能和实现。
我的问题是,使用这些公开的方法(对每种语言都很常见)编写的 Python 脚本是否适用于 Python 的所有三种“风格”?
就像我说的,我很确定答案是“当然”,但我需要先确定一下,然后再花太多时间在这上面。
最佳答案
简短的回答是:有时。
一些构建在 IronPython 之上的项目可能无法与 CPython 一起工作,一些用 C 编写的 CPython 模块(例如 NumPy)将无法与 IronPython 一起工作。
类似地,虽然 Jython 实现了语言规范,但它与 CPython 存在一些不兼容性(例如,它缺少 CPython 标准库的一些部分,并且它可以导入 Java 标准库包和类,如 Swing)
所以,是的,只要您避免不兼容。
关于python - CPython、IronPython、Jython 脚本彼此兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953989/