所以我发现了SPSS的python扩展,一切都很好,我现在创建了一些脚本,并将它们包含在扩展映射中,效果很好。但是,现在我已经创建了几个需要参数的脚本,我想我可以遵循相同的方法,但我想不行。在
def Run(args):
import spss
def testing_p(variables):
all_variables = [spss.GetVariableName(i) for i in range(spss.GetVariableCount())]
variable_nr = [all_variables.index(i) for i in variables]
print all_variables
print variable_nr
包含以下.xml文件:
^{pr2}$但是,当调用testing_p(['my_var','my_var2'])时,会不断抛出错误:
Warnings
This command should specify a valid subcommand at the beginning.
Execution of this command stops.
我无法对此了如指掌,因为如果不将扩展映射放在扩展映射中,而只执行以下操作,则一切正常:
BEGIN PROGRAM.
import spss
def testing_p(variables):
all_variables = [spss.GetVariableName(i) for i in range(spss.GetVariableCount())]
variable_nr = [all_variables.index(i) for i in variables]
print all_variables
print variable_nr
END PROGRAM.
对于可以用Python、R或Java编写的扩展,需要创建一个语法规范,其中包含命令名、任何子命令以及所需的参数和参数类型。这是一张图片的开始(SPSSINC_TURF,安装了统计数据)。
这将指导统计分析程序检查用户输入。然后它还调用包含用户输入的复杂结构的Run函数。您可以使用extensions模块中的函数将其映射到Python变量并进行进一步的验证。下面是SPSSINC TURF的Run函数开始的图片。在
最后,如果语法有效,Run函数调用worker函数来做一些有用的事情,通过调用将所有参数映射到指定的参数
processcmd(oobj、args、superturf、vardict=spssaux.VariableDict软件包())
它是从扩展名.py. 在
查看帮助系统中扩展的文档,并查看一些随统计信息安装的扩展示例。在
最后,这是我演讲中的一张幻灯片,总结了从用户输入到结果的流程。在
相关问题 更多 >
编程相关推荐