我正在考虑将我的代码(大约30K LOC)从CPython移到Jython,以便可以更好地与Java代码集成。

我是否应该查看 list 或指南来帮助我进行迁移?有人有做类似事情的经验吗?

通过阅读Jython site,大多数问题似乎太晦涩,无法打扰我。

我确实注意到了:

  • 线程安全是一个问题
  • Unicode支持似乎完全不同,这对我来说可能是个问题
  • mysqldb不起作用,需要用zxJDBC替换

  • 还要别的吗?

    相关问题:What are some strategies to write python code that works in CPython, Jython and IronPython

    最佳答案

    首先,我必须说Jython实现非常好。大多数事情“都是可行的”。

    这是我遇到的一些事情:

  • C模块当然不可用。
  • open('file')。read()不会自动关闭文件。这与垃圾收集器的不同有关。这可能会导致打开文件过多的问题。最好使用“with open('file')as fp”的习惯用法。
  • 设置当前工作目录(使用os.setcwd())适用于Python代码,但不适用于Java代码。它会为所有与文件相关的内容模拟当前的工作目录,但仅对Jython可用。
  • XML解析将尝试验证外部DTD(如果可用)。因为解析器将通过网络下载DTD,所以这可能会导致XML处理代码的大量减速。我reported this issue,但是到目前为止它还没有修复。
  • 在Jython代码中很晚才调用__ del __方法,而不是在删除最后一个对该对象的引用之后立即调用。

  • 有一个old list of differences,但是最近的列表不可用。

    关于python - 从Python迁移到Jython,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/420792/

    10-13 07:14