Possible Duplicate:
How to run a python script from java?为什么Jython找不到这个模块?
我正在用Jython Python脚本,并得到这个错误:文件 “C:\ Facebook的\ LoginPython \ Facebook.py” 线程 “main” 回溯(由外向内)
异常,第5行,在? ImportError:没有名为cookielib的模块
为什么不能正常工作?
Possible Duplicate:
How to run a python script from java?为什么Jython找不到这个模块?
我正在用Jython Python脚本,并得到这个错误:文件 “C:\ Facebook的\ LoginPython \ Facebook.py” 线程 “main” 回溯(由外向内)
异常,第5行,在? ImportError:没有名为cookielib的模块
为什么不能正常工作?
我尝试这个并得到这个错误:线程“主”回溯(最内层最后)异常:文件“C:\ Facebook \ LoginPython \ Facebook.py”,第5行,在? ImportError:没有模块名为cookielib – user621459 2011-02-17 23:11:43
有关使用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对象来说很容易。
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
阅读下面的评论,OP似乎在寻找一个完全不同的问题的答案。我正在标记这个被关闭......实际上我不会重写问题。 – 2011-02-17 23:43:18