2016-09-30 66 views
0

Python新手在这里。与execfile中的对象进行交互/ subprocess.call在Python文件中带参数

我想与需要其数据参数的python文件中的变量/对象进行交互。 比方说,我只能从参数中获取这些数据,而不是制作一个包含将要传递的参数的脚本(这意味着我必须使用execfile或subprocess.call)。

比方说,这是我的Python文件,foo.py:

bar = 123 
print("ran foo.py, bar = %d" % bar) 

当然,会有更多的解析参数的文件,但是这是无关紧要的。现在

,在Python壳(Python或IPython的在终端中):

>>> import subprocess 
>>> subprocess.call("python foo.py 'args'", shell=True) 
ran foo.py, bar = 123 
0 
>>> bar 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'bar' is not defined 

如以上的例子所示输出,棒不会从foo.py.标准输出之后定义

有没有办法与execfile或subprocess.call调用的python文件中的变量或数据对象进行交互?通常我会在REPL中进行评估或在IDE中运行,以便在执行后可以测试值和对象,但我无法弄清楚如何使用从分析的参数构建数据的python文件执行此操作。

有谁知道我该怎么做?无论如何感谢您的考虑。

回答