【发布时间】:2017-01-23 12:00:27
【问题描述】:
在 SPSS 中,使用 Python 在 BEGIN 和 END PROGRAM 命令中创建的任何变量都将存储在内存中以用于其余的语法。但是,如果从另一个 Python 命令以不同的语法调用语法,则创建的 Python 变量将仅存在于创建它的 BEGIN 和 END 程序中。例如:
在调用程序的 SPSS 插入脚本中:
BEGIN PROGRAM.
import spss
spss.Submit ('''
INSERT FILE = '~~FILELOCATION~~'
SYNTAX=INTERACTIVE ERROR=CONTINUE CD=NO.
''')
END PROGRAM.
在 ~~FILE LOCATION~~ 被调用:
BEGIN PROGRAM.
firstvar = "34"
END PROGRAM.
BEGIN PROGRAM.
secondvar = "23"
print(firstvar + secondvar)
END PROGRAM.
如果后一个脚本是从第一个程序的插入文件命令运行的,结果是第一个变量不会被转移到第二个 BEGIN PROGRAM 中。
有没有办法将此变量存储在用于插入文件的 Python 程序的内存中,因为此处的任何变量都将存在于整个插入的语法中?如果这是不可能的,那么在插入文件命令中将在一个 Python 脚本中创建的变量传送到另一个脚本的最佳方法是什么。
我希望这是有道理的,如果您有任何问题要澄清问题,请告诉我。
【问题讨论】: