gpt4 book ai didi

python - 当语法从另一个 Python 脚本运行时,在 SPSS 中保存 Python 变量

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:16 25 4
gpt4 key购买 nike

在 SPSS 中,在 BEGIN 和 END PROGRAM 命令中使用 Python 创建的任何变量都将存储在内存中以供其余语法使用。但是,如果从另一个 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.

如果后一个脚本是通过第一个程序的插入文件命令运行的,则结果是第一个变量不会转移到第二个开始程序中。

有没有办法将此变量存储在开始用于插入文件的Python程序的内存中,因为这里的任何变量都将存在于整个插入语法中?如果这是不可能的,那么在插入文件命令中将一个 Python 脚本中创建的变量传送到另一个 Python 脚本中的最佳方法是什么?

我希望这是有道理的,如果您有任何问题需要澄清,请告诉我。

最佳答案

第一个程序正在创建一个名为firstvar 的局部变量。您可以通过将其显式分配给其模块来将其保留到第二个程序中。这比将变量扔到全局变量中更有秩序。

导入系统
sys.modules[__name__].firstvar = 34

并将其称为
sys.modules[__name__].firstvar
在第二个程序中。

关于python - 当语法从另一个 Python 脚本运行时,在 SPSS 中保存 Python 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com