试图在同一时间针对这些环境中的两个,我可以放心地说,如果您必须使用数据库等,您最终必须为该环境编写唯一的代码。你有一个很好的方法来处理这种情况?什么是编写Python代码,在CPython,Jython和IronPython中工作的一些策略
16
A
回答
15
如果做找到你需要编写唯一代码的环境中,使用蟒蛇
import mymodule_jython as mymodule
import mymodule_cpython as mymodule
有这个东西在一个简单的模块(“” module_importer'?),写你这样的代码:
from module_importer import mymodule
这样,您只需要在每个平台上改变module_importer.py
即可。
10
@Daren Thomas:我同意,但您应该使用platform module来确定您正在运行哪个解释器。
2
我为CPython和IronPython编写代码,但提示也应该适用于Jython。
基本上,我将所有平台特定的代码写入单独的模块/包中,然后根据我运行的平台导入相应的代码。 (请参阅上面的cdleary的注释)
这对于SQLite实现与实现任何GUI代码之间的差异时尤为重要。
1
#1事情IMO:专注于线程安全。 CPython的GIL使编写线程安全代码变得简单,因为一次只有一个线程可以访问解释器。 IronPython和Jython虽然有点不太好用。
0
我敢肯定你已经知道这一点,但遗憾的是Jython的can't load c extension modules.
0
有两种主要问题在这里打球......
首先,据我所知,只有CPython的有RAII - 你必须在Jython,Ironpython等中关闭自己的资源。
第二,如前所述,线程安全。
相关问题
- 1. Cpython,IronPython和PyPy究竟是什么?
- 2. 哪些编码策略在打字稿中更好?为什么?
- 3. Python需要一个GIL。但Jython和IronPython没有。为什么?
- 4. vim中代码块和宏的最佳策略是什么?
- 5. WF 4中的单元测试工作流的一些策略是什么?
- 6. IronPython和Jython与CPython有相同的GIL问题吗?
- 7. 什么是用Python编写的一些现代Comet服务器?
- 8. CPython,IronPython,Jython脚本是否相互兼容?
- 9. 什么是一个好的Linux退出错误代码策略?
- 10. 为什么在编写代码时UIBarbuttonItem在Swift中不工作?
- 11. Ironpython:函数在CPython中工作,IronPython中神秘的空指针异常
- 12. 集成Jython Cpython
- 13. 为什么用python编写的决策树代码与用R编写的代码不同?
- 14. IronPython是否可用作CPython的替代品?
- 15. 为什么includeOptional不能像编写代码一样工作
- 16. 您在家工作时使用什么策略来同步您的代码
- 17. 什么是懒惰的策略,它是如何工作的?
- 18. 任何CPython 2.7代码都可以在Jython 2.7b3中运行吗?
- 19. 将在Windows中编写的Python代码工作在Linux?
- 20. 什么是一些流行的Git布局策略?
- 21. 可以编写将在Python和IronPython上运行的XML阅读代码吗?
- 22. 什么是提取策略?
- 23. REST和RDF,表示策略是什么?
- 24. 编写负载测试工具有哪些策略?
- 25. 为什么用C++代码编写的普通URI工作?
- 26. 在python中编写代码以从“txt”文件读取一些示例输入的最佳方式是什么?
- 27. 什么是用C通用代码复用策略
- 28. 什么是它不同的实现上(Jython/IronPython的/ pypy /等)与
- 29. Python vs Jython vs IronPython vs wxPython有什么区别?
- 30. 为什么这个Python代码工作?
So Daren,有没有办法让module_importer根据一些环境变量动态地导入正确的变量等。 – minty 2008-09-10 07:12:44
对不起,我在这里画一个空白。这将是一个优秀的SO问题:“如何动态地确定我们是否正在运行Jython,CPython或IronPython?”。然后,你可以在ifs中做... – 2008-09-10 11:42:39