Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python导入一个我在其中定义全局变量的函数_Python_Variables_Global - Fatal编程技术网

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
中定义的对象。最好是直言不讳。