没有可行的替代输入'\\ n“Python错误

时间:2014-02-10 20:52:19

标签: java python

我正在开展一个大型项目,该项目涉及给一个python脚本一个名字,并获得一个关于它属于哪种性别的结果。我当前的程序是用Java编写的,并使用Jython与名为“sex machine”的Python脚本进行交互。它在大多数情况下都很好用,我用较小的用户组进行了测试。但是,当我尝试使用大量用户对其进行测试时,程序大约进入中途,然后给出了以下错误:

"Exception in thread "main" SyntaxError: No viable alternative to input '\\n'", ('<string>', 1, 22, "result = d.get_gender('Christinewazonek'')\n")

我更习惯于Java并且对Python的知识有限,所以目前我不知道如何解决这个问题。我试图修剪我给出get_gender方法的字符串,但这没有任何帮助。我不确定数字1,22甚至是什么意思。

就像我说的那样,因为我正在使用Jython,我的代码如下:

static PythonInterpreter interp = new PythonInterpreter();


interp.exec("import sys, os.path");
interp.exec("sys.path.append('/Users/myname/Desktop/')");
interp.exec("import sexmachine.detector as gender");

interp.exec("d = gender.Detector()");

interp.exec("result = d.get_gender('"+WordUtils.capitalize(name).trim()
            +"')");

PyObject gendAnswer = interp.get("result");

这几乎是我的Java代码中Jython / Python交互的程度。如果有人看到错误或不正确的话,如果你能帮助我,我当然会感激。由于这是一个大型项目,因此需要时间来重新运行整个程序才能遇到同样的问题,因此我真的需要解决这个问题。

1 个答案:

答案 0 :(得分:-1)

不确定是否已对此进行了整理,但在

上加了撇号
d.get_gender('Christinewazonek'')

就像在Java中一样,打开的所有内容都需要关闭,在这种情况下,您打开了一个包含)\n")且未关闭的字符串。

根据您使用的解释器,可以很容易地将其标记出来。也许您可以尝试使用其他解释器。