创建一个独立的文件,你的所有全局值
#globals.py
class MyGlobals(object):
data = [[]] # global data
#c.py
from globals import MyGlobals
def work1(list):
MyGlobals.data.append(list)
def work3():
print (MyGlobals.data)
#b.py
from globals import MyGlobals
import c
input = [[1, 3, 4], [2, 4, 4], [3, 4, 5]]
def work2():
for each in input:
C.work1(each) # call work1
#a.py
from globals import MyGlobals
import c
def work4():
c.work3() # call work3
if __name__ == "__main__":
work4();
输出
sh-4.3$ python a.py
[[]]
sh-4.3$
如果你现在要更新您的全局值,你可以调用内部
#a.py
from globals import MyGlobals
import c
import b
def work4():
c.work3() # call work3
if __name__ == "__main__":
b.work2()
work4()
输出在文件b.py WORK2()函数
sh-4.3$ python a.py
[[], [1, 3, 4], [2, 4, 4], [3, 4, 5]]
有一个空的列表中输出,因为我不知道你想怎么存储它们,因为有你追加到全球数据,即数据的现有空列表= [[]]
使其按照您的要求工作。将全局list放入一个文件中,并将该文件导入到您要使用它的每个其他模块/文件中。
#a.py
data = [[]] # global data
#b.py
import a
def work1(list):
a.data.append(list)
def work3():
print (a.data)
#c.py
import a
import b
input = [[1, 3, 4], [2, 4, 4], [3, 4, 5]]
def work2():
for each in input:
b.work1(each) # call work1
#main.py
import a
import b
import c
def work4():
b.work3() # call work3
if __name__ == "__main__":
c.work2()
work4()
输出
sh-4.3$ python main.py
[[], [1, 3, 4], [2, 4, 4], [3, 4, 5]]
sh-4.3$