如何将变量从variables.py传递为全局值

问题,我的一个朋友推荐:


只需创建一个“variables.py”即可。在代码中放入一个字典,然后导入变量,然后是variables.mydict,因为它将它定向到 GIL 命名空间,并且它将在所有变量之间进行分片


我尝试遵循他的提示,做了一些简单的事情:


first.py


def function():

    out_file = dict()

    return out_file


second.py


import first


val = first.function()

print(val) #first run should be empty, next run after restarting the script it should print "hello" ?

val["testing"] = "hello"

print(val)

预期结果:


第一次运行应该是 {},然后“{'testing': 'hello'}” 下次我再次运行脚本时(关闭 secondary.py,然后再次重新打开它)应该打印:“{'testing': 'hello' '}" 和 "{'testing': 'hello'}" 再次因为两个打印


实际结果:


它首先打印 {},然后打印“{'testing': 'hello'}”,如果我重新启动脚本,它会打印出相同的“{'testing': 'hello'}” - 就像变量不打印一样以某种方式得救?


当我运行它时第一次运行不应该是空的,然后在下次运行时如果我再次运行脚本它应该是“hello”吗?


汪汪一只猫
浏览 85回答 1
1回答

摇曳的蔷薇

根据您留下的评论,您的问题是这样的 - 每当程序停止运行时,创建的任何变量都会删除自身(它永远不会留下)。尽管您正在导入另一个文件,但这与保存变量没有任何关系。如果您需要自己保存值(并且因为您使用的是字典),我建议您查看 Python 中的 Json 模块。它允许您将数据保存到文件中,然后加载数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python