4

我在 Windows 7 上使用 jython 2.7.0 和 Java 1.7.0_45。我用以下 Java 代码调用我的模块

    try{
        python.exec("import sys");
        python.exec("sys.path.append('c:/Python')");
        python.exec("import myModule");
        python.set("var1", new PyString(remote));
        python.exec("myModule.score(var1)");
    } catch (org.python.core.PyException e) {
        System.out.println (e.toString()); 
        System.out.println ("\n");           
    }

myModule.score 的 Python 代码以

import json
import urllib.parse

这会导致错误

import urllib.parse
ImportError: No module named parse

我怀疑这与 Python 在版本之间的格式变化和函数被弃用有关。我想知道是否有人知道 Python jython 2.7.0 使用哪个版本以及调用 urllib.parse 的正确语法是什么(在 Python 3.5 中可以正常工作)。

4

2 回答 2

2

根据 Python 2.xurlparse模块文档-

urlparse 模块在 Python 3 中重命名为 urllib.parse

因此,您应该使用urlparse模块 for Python 2.7(或 Jython 2.7,这将在内部使用 Python 2.7)。你应该做 -

import urlparse

并照此使用。

于 2015-08-17T17:35:09.800 回答
1

Jython 2.7 使用 Python 2.7 标准库。版本号专门设计用于与 CPython 版本号相关联。

于 2015-08-17T17:32:12.580 回答