【发布时间】:2016-06-26 11:07:07
【问题描述】:
我编写了一个简洁的 Python 模块,其中包含一些自定义 SPSS 函数供我的同事使用。但是,要使用该功能,他们首先需要键入 BEGIN PROGRAM。在实际调用函数之前导入模块等。因为他们中的大多数人都不精通技术,所以我希望让事情变得更容易。
现在他们必须输入如下内容:
BEGIN PROGRAM.
import sys
sys.path.append("C:/Python scripts")
import mymodule
mymodule.custom_function('a','c')
END PROGRAM.
有没有一种方法可以编写一些 SPSS 宏来在一行中调用我的 Python 模块中的函数?像这样:
!mymodule.custom_function varlist=a,b
我已经尝试定义一个普通的 SPSS 宏并在宏主体中编写 BEGIN PROGRAM 等,但这会产生错误。似乎宏体只能包含有效的 SPSS 语法,而不能包含 python 代码。
还有其他解决方案吗?
【问题讨论】:
-
您应该创建一个您的同事可以安装的扩展命令。 custom dialog box 也很简单。
-
对您的问题的简短回答是否定的 - 您通常不能在宏中使用
BEGIN PROGRAM...END PROGRAM块。