首页 > 解决方案 > 如何将 variables.py 中的变量作为全局值传递

问题描述

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

只需制作一个“variables.py”。在那里放一个字典,然后在你的代码上,导入变量,然后是 variables.mydict 因为它将它定向到 GIL 命名空间,它将在所有文件中分片

我试着按照他的提示做了一些简单的事情:

第一个.py

def function():
    out_file = dict()
    return out_file

第二个.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'}" 下次我再次运行脚本(关闭 second.py 然后重新打开它)应该打印: "{'testing': 'hello '}" 和 "{'testing': 'hello'}" 再次因为两个打印

实际结果:

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

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

标签: pythonvariables

解决方案


根据您留下的评论,您的问题是 - 每当程序停止运行时,创建的任何变量都会自行删除(它永远不会留下)。尽管您正在导入另一个文件,但这与保存变量无关。如果您需要自己保存值(并且由于您使用的是字典),我建议您查看 Python 中的 Json 模块。它允许您将数据保存到文件中,然后再加载数据。


推荐阅读