1
我想知道如何使用IPython交互式命名空間中導入模塊中的函數中的變量。在iPython交互式命名空間中使用導入模塊中的函數變量
我有,我想,所以我將它設置爲run_test.py從另一個腳本運行一些示例代碼:
def run_test():
a = 5
if __name__ == "__main__":
run_test()
我導入模塊如下,調用函數:
import run_test
run_test.run_test()
如何在交互式命名空間中使變量'a'可用?我能做到的唯一方法就是使'a'成爲一個全局變量,並直接運行run_test.py而不是導入它並調用函數。
任何指針讚賞。
你不能 - 'a'是'run_test'內的局部變量,只要該函數結束就會被釋放。如果你希望'a'在'run_test'之外可用,你需要*做出明確的*(例如''global'')。 – jonrsharpe 2015-02-10 13:06:38
謝謝@jonrsharpe這是有道理的。我想我需要單獨運行腳本(execfile?),而不是將它合併到函數中。 – srossy 2015-02-10 13:40:20
你爲什麼要*能夠訪問'a'?如果在函數完成後需要該值,則返回它。 – jonrsharpe 2015-02-10 13:41:42