python导入一个我在其中定义全局变量的函数
我在访问变量时遇到困难 我正在进行以下工作,从python导入一个我在其中定义全局变量的函数,python,variables,global,Python,Variables,Global,我在访问变量时遇到困难 我正在进行以下工作,从bash调用python脚本,使用参数,然后导入第二个python脚本中定义的函数,执行它,从而创建一个变量,稍后将在第一个python脚本中使用 目前,为了进行测试,我正在将一些命令直接复制并粘贴到Python终端中,如下所示: from script2 import * foofunction(arg) print(newlist) from script2 import * foofunction(arg) print(script2.new
bash
调用python脚本
,使用参数,然后导入第二个python脚本中定义的函数,执行它,从而创建一个变量,稍后将在第一个python脚本中使用
目前,为了进行测试,我正在将一些命令直接复制并粘贴到Python终端中,如下所示:
from script2 import *
foofunction(arg)
print(newlist)
from script2 import *
foofunction(arg)
print(script2.newlist)
script2
中定义的foo函数正在执行,我可以看到文件已经写入,但是当我试图打印在执行导入函数时创建的列表时,我收到一条消息,告诉我它未定义
在我的script2.py
中,我确保输入一条语句
全局新列表
在定义其长度并填充之前
在这个阶段我很抓狂 您应该参考newlist和模块,其中定义如下:
from script2 import *
foofunction(arg)
print(newlist)
from script2 import *
foofunction(arg)
print(script2.newlist)
请包含script2.py中的相关代码:)为什么不在该函数中
返回newlist
,并将其分配给一个变量?在python中,global
关键字不是这样工作的。看一看,我不知道为什么昨晚我试过它时它不起作用,但Graipher的解决方案是完全正确的。如果你想把它加入到一个答案中,我很乐意接受它。从某个模块导入*
很少是一个好的实践,因为它会破坏你的名称空间。这是一个主要的例子-如果不了解script2.py
我们不知道foofunction
和newlist
是否是namererror
或script2.py
中定义的对象。最好是直言不讳。