Я уверен, что кто-то уже ответил на это, но я не могу его найти.
У меня есть сценарий test.py
, единственная цель существования которого - поместить переменную var
в глобальное пространство имен:
def test():
global var
var = 'stuff'
Вот что происходит, когда я запускаю test.py
в ipython, используя %run
, затем запускаю test()
и затем пытаюсь получить доступ к var
.
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: %run test.py
In [2]: test()
In [3]: var
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-3-84ddba356ca3> in <module>()
----> 1 var
NameError: name 'var' is not defined
In [4]:
Есть идеи, что происходит? Или как вообще перенести его в локальное пространство имен?