我正在使用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中获取字符串的子字符串吗?
答案 0 :(得分:0)
在Jython中,切片效果非常好,并且您的代码在一个衬里中产生roject
输出。我建议使用它作为一个衬里,用分号代替行分隔符:
-c "test = 'project';edit = test[1:];print edit;"
PS如果您向我们展示您的环境,通常会有所帮助:Jython版本,操作系统版本等。
我已经在Jython 2.5和2.2上测试了它并且它可以工作:
[mn@test ~]# jython -c "import sys; print sys.version; test = 'project';edit = test[1:];print edit;"
2.2.1
roject
答案 1 :(得分:0)
我会尝试使用&#39; -f&#39;切换wsadmin。它可以解决问题,或至少使调试更容易。似乎它可能是一个字符编码问题,判断\ u00dd是一个非标准的英文字符。
请参阅:http://www.charbase.com/00dd-unicode-latin-capital-letter-y-with-acute
为了安全起见,请确保您的脚本文件以UTF-8编码。