2016-09-30 65 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文件執行此操作。

有誰知道我該怎麼做?無論如何感謝您的考慮。

回答