【发布时间】:2018-12-08 16:10:29
【问题描述】:
我有一个辅助脚本,我想从充当服务器的主脚本中调用它。这个主脚本如下所示:
Class Stuff():
def __init__(self, f):
self.f = f
self.log = {}
def execute(self, filename):
execfile(filename)
if __name__ == '__main__':
#start this script as server
clazz = Stuff()
#here helper_script name will be provided by client at runtime
clazz.execute(helper_script)
现在客户端将通过将其名称提供给主脚本(服务器)来调用此帮助程序脚本。执行后,我想在主脚本中保留辅助脚本的变量(即:a,b)。我知道一种方法是将这些变量从帮助脚本返回到主脚本。但是有没有其他方法可以保留帮助脚本的所有变量。这是帮助脚本的样子:
import os
a = 3
b = 4
我尝试使用 execfile 和子进程。
【问题讨论】:
-
只需导入您的 helper 脚本,而不是将其作为子进程调用...
-
这不是一个优雅的解决方案,但您可以让帮助脚本将变量写入文件(文本、csv、pickle、json),然后从文件中读取主脚本。跨度>
-
@zwer import 不执行脚本,之后我需要调用一些函数来执行该脚本。
-
我认为您需要将有关问题情况的更多信息放入问题中。因为书面问题听起来像是
exec()/execfile()的工作。 -
你不能
from helper_script import *吗?
标签: python python-2.7 subprocess