我编写了一个简洁的 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 代码。
还有其他解决方案吗?
有几种可能的解决方案。如果您希望自动加载一组标准的 Python 函数,您可以创建一个启动脚本。它将命名为 StartClient_.py 并放置在统计安装下的脚本目录中。每次启动统计信息时都会执行该操作。 (这可以使用 STATS OPEN PROJECT 扩展命令进行概括,该命令在调用时可以执行很多操作,包括编写启动脚本。)
如果您只是希望用户能够运行 Python 函数而无需面对任何 Python 代码或 BEGIN/END 程序,则另一个解决方案是使用 SPSSINC PROGRAM 扩展命令(实用程序 > 运行 Python 程序)。它需要一个模块和函数来运行以及您想要指定的任何参数。
这是一个例子:
SPSSINC 程序 testpgm.mypgn x=年龄 y = 收入 z=.05。
作为开发人员,要完成这项工作,请参阅此命令的语法帮助。该命令加载模块并使用 sys.argv 将参数传递给您的代码。
如果您的用户主要是点击式用户,您只需创建一些自定义对话框来保存 Python 代码并让用户安装它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)