2011-02-17 41 views
-2

Possible Duplicate:
How to run a python script from java?为什么Jython找不到这个模块?

我正在用Jython Python脚本,并得到这个错误:文件 “C:\ Facebook的\ LoginPython \ Facebook.py” 线程 “main” 回溯(由外向内)

异常,第5行,在? ImportError:没有名为cookielib的模块

为什么不能正常工作?

+0

阅读下面的评论,OP似乎在寻找一个完全不同的问题的答案。我正在标记这个被关闭......实际上我不会重写问题。 – 2011-02-17 23:43:18

回答

1

使用Jython在JVM上运行Python。使用PyDev在Eclipse上使用Python(或Jython)进行开发。

+0

我尝试这个并得到这个错误:线程“主”回溯(最内层最后)异常:文件“C:\ Facebook \ LoginPython \ Facebook.py”,第5行,在? ImportError:没有模块名为cookielib – user621459 2011-02-17 23:11:43

2

有关使用Jython的更多信息 - 我也有过这方面的问题。请注意,这可能不是最好的办法,但它对我来说工作得很好。

我假设你想从你的Java代码,需要一个字符串参数并返回一个字符串调用模块条函数foo:

PythonInterpreter interpreter = new PythonInterpreter(); 
    // Append directory containing module to python search path and import it 
    interpreter.exec("import sys\n" + "sys.path.append(pathToModule)\n" + 
    "from bar import foo"); 
    PyObject meth = interpreter.get("foo"); 
    PyObject result = meth.__call__(new PyString("Test!")); 
    String real_result = (String) result.__tojava__(String.class); 

的sys.path.append()的部分是,如果只需要你的模块默认不是Python搜索路径的一部分,如果你导入或模块没有找到错误,这可能是问题。 此外,您还需要在Java和Python版本之间转换对象,如果需要,您需要查看该对象,到目前为止,我只需要易于转换的原始类型,不知道是否对于任意java对象来说很容易。

+0

actualy我试图运行作为登录到Facebook工作的pyton脚本。我的lib是cookielib。这是我的代码:import java.io. *; import org.python.core。*; import org.python.util。*; // import org.python.util.jython; 公共类JavaPython { \t公共静态无效的主要(字串[] args)抛出IOException异常{ \t \t PySystemState.initialize(); \t \t PythonInterpreter interp = new PythonInterpreter(); \t \t interp.execfile(“C:\\ Facebook \\ LoginPython \\ Facebook.py”); // \t \t interp.eval(s); \t \t System.out.println(“testing”); \t \t} \t \t \t} – user621459 2011-02-17 23:31:02

相关问题