我一直在研究STAF & STAX。我的目标是使用STAF & STAX返回Testcase、、PASS、或FAIL来读取JSON文件。我尝试用最新的python版本将staf更新为最新版本。
Python版本细节
20130408-15:38:19
Python Version : 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)]这是我的密码:
try:
import simplejson as json
except ImportError:
import json
title = []
album = []
slist = []
json_data=open('d:\Json_File.txt')
data = json.load(json_data)
for i in range(data["result"].__len__()):
title = data["result"][i]["Title"]
album = data["result"][i]["Album"]
slist = data["result"][i]["Title"] + ' [' + data["result"][i]["Album"] + '] \n'它给出了下面的错误
20130408-11:32:26 STAXPythonEvaluationError signal raised. Terminating job.
===== XML Information =====
File: new13.xml, Machine: local://local
Line 15: Error in element type "script".
===== Python Error Information =====
com.ibm.staf.service.stax.STAXPythonEvaluationException:
Traceback (most recent call last):
File "<pyExec string>", line 1, in <module>
ImportError: No module named simplejson
===== Call Stack for STAX Thread 1 =====[
function: main (Line: 7, File: C:\STAF\services\stax\samples\new13.xml, Machine: local://local)
sequence: 1/2 (Line: 14, File: C:\STAF\services\stax\samples\new13.xml, Machine: local://local)
]在STAF模块中包含JSON的过程是什么。
发布于 2013-04-09 05:05:26
STAX使用Jython (用Java编写的Python版本),而不是Python,在STAX作业中的元素中执行代码。正如我所说的,我使用了STAX的最新版本v3.5.4,然后它提供了一个嵌入式Jython 2.5.2 (它实现了与Python2.5相同的语言特性集)来在元素中执行代码。注释:PythonJython2.5.2不包含simplejson,因为simplejson包含在Python2.6或更高版本中。 附录F: "“STAX用户指南”中的Jython和CPython差异讨论了Jython和“STAX用户指南”中的Jython和CPython差异(又名CPython)之间的一些区别。在系统中安装Python2.7或更高版本不会对STAX使用Jython2.5.2在STAX作业中的元素内执行代码这一事实产生影响。然而,"simplejson可以通过Jython运行。“I将包含simplejson模块的目录添加到system作业中的sys.path中,然后导入simplejson。 例如:
<script>
myPythonDir = 'C:/simplejson'
import sys
pythonpath = sys.path
# Append myPythonDir to sys.path if not already present
if myPythonDir not in pythonpath:
sys.path.append(myPythonDir)
import simplejson as json
</script> 或者,如果您想使用安装在系统上的Python2.7或更高版本(包括simplejson),可以使用**元素通过STAX作业运行Python脚本(使用json)。 例如,使用Python2.7(如果安装在C:\Python2.7中)在C:\test中运行名为YourPythonScript.py的Python脚本。
<process>
<location>'local'</location>
<command mode="'shell'">'C:/Python2.7/bin/python.exe YourPythonScript.py'</command>
<workdir>'C:/tests'</workdir>
</process> 发布于 2013-04-08 06:35:06
我对斯塔夫/斯塔克斯一无所知。但是按照错误的说法,simplejson模块似乎是不可用的。将导入行重写如下:
try:
import simplejson as json
except ImportError:
import json在导入失败的情况下,您可以回退到json模块(Python 2.6+)。
https://stackoverflow.com/questions/15872359
复制相似问题