0

我正在使用 Jython 为我的一项任务编写 wsadmin 脚本。

-c "test = 'project' " + -c "edit = test[1:]" + -c "print edit"

但是,当我执行这段代码时,出现以下错误

Traceback (innermost last): (no code object) at line 0 File "<input>", line 1 edit = test[1:] ¬ SyntaxError: Lexical error at line 1, column 12. Encountered: "\u00dd" (221),after : ""

看起来方括号不被接受是否有任何其他方法可以在 Jython 中获取字符串的子字符串?

4

2 回答 2

0

我会尝试通过使用 wsadmin 的“-f”开关来使用脚本文件。它可以潜在地解决问题,或者至少使它更容易调试。判断 \u00dd 是非标准英文字符似乎可能是字符编码问题。

见: http: //www.charbase.com/00dd-unicode-latin-capital-letter-y-with-acute

为了安全起见,请确保您的脚本文件以 UTF-8 编码。

于 2014-07-10T20:33:07.647 回答
0

在 Jython 中,切片工作得非常好,您的代码在一个内衬中产生roject输出。我建议将其用作带有分号而不是行分隔符的衬里:

-c "test = 'project';edit = test[1:];print edit;"

PS 如果您向我们展示您的环境通常会有所帮助:Jython 版本、操作系统版本等。

我已经在 J​​ython 2.5 和 2.2 上对其进行了测试,并且可以正常工作:

[mn@test ~]# jython -c "import sys; print sys.version; test = 'project';edit = test[1:];print edit;"
2.2.1
roject
于 2014-04-22T07:57:39.117 回答