从java调用python方法

从java调用python方法,java,python,jython,Java,Python,Jython,我有Python类: import smtplib class em(): def greet(self): to = 'ant.......nov@ya..dex.ru' gmail_user = 'ant0.....ov@r..mbler.ru' gmail_pwd = 'Y2V.........fHdZ' smtpserver = smtplib.SMTP("smtp.ramer.ru",587) s

我有Python类:

import smtplib

class em():
    def greet(self):
        to = 'ant.......nov@ya..dex.ru'
        gmail_user = 'ant0.....ov@r..mbler.ru'
        gmail_pwd = 'Y2V.........fHdZ'
        smtpserver = smtplib.SMTP("smtp.ramer.ru",587)
        smtpserver.ehlo()
        smtpserver.starttls()
        smtpserver.ehlo
        smtpserver.login(gmail_user, gmail_pwd)
        header = 'To:' + to + '\n' + 'From: ' + gmail_user + '\n' + 'Subject:testing \n'
        print (header)
        msg = header + '\n this is test msg from  \n\n'
        smtpserver.sendmail(gmail_user, to, msg)
        print ('done!')
        smtpserver.close()

a = em()
a.greet()
我有Java方法:

public void $doIt() throws PyException {
        PythonInterpreter interp = new PythonInterpreter();
        interp.exec("import sys\nsys.path.append('C:\\CODING\\GIT\\arNote\\src\\main\\java\\com\\antonromanov\\arnote\\email\\python')\nimport sende");
        interp.exec("print sys");
        interp.exec("print sys.path\n" + "print" );
...
我想将一些参数从java传递到python方法并调用它们,但我收到了:

org.python.core.PyException: null
    ...
    at com.antonromanov.arnote.email.python.Testp.$doIt(Testp.java:52)
字符串编号52是:

    interp.exec("import sys\nsys.path.append('C:\\CODING\\GIT\\arNote\\src\\main\\java\\com\\antonromanov\\arnote\\email\\python')\nimport sende");

用我的密码。我做错了什么?

您使用的是python2还是pytho3?我从'interp.exec(“print sys”);`你使用的是python2,对吗?@Error-语法悔恨-我的版本是3,7,那么将通过一个错误print需要括号。在使用java运行python IDE之前,请确保您运行的所有代码都是python IDE中的有效python 3代码。如果注释字符串#52 with interp.exec(“import sys\nsys.path.a…”bla bla bla-bla-一切正常!您使用的是python2还是pytho3?我假设来自`interp.exec(“print sys”)5942导入系统\nsys.path.a….布拉布拉布拉布拉布拉布拉布拉-一切正常!