python - 如何将 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'}”——就像变量没有以某种方式得救?
我运行它时第一次运行不应该是空的,然后如果我再次运行脚本,下次运行它应该是“你好”吗?
解决方案
根据您留下的评论,您的问题是 - 每当程序停止运行时,创建的任何变量都会自行删除(它永远不会留下)。尽管您正在导入另一个文件,但这与保存变量无关。如果您需要自己保存值(并且由于您使用的是字典),我建议您查看 Python 中的 Json 模块。它允许您将数据保存到文件中,然后再加载数据。
推荐阅读
- c# - 字符串变量是否可以包含 int
- c# - Azure 持久功能:链接多个功能时,新实例在任何消息完成处理之前启动
- c# - “MenuButton” TargetType 与元素“Button”的类型不匹配
- json - scala play json 自定义验证 oneOf
- javascript - ASP.NET MVC 扩展的 Javascript 重用
- windows - Gnuplot,如何从文件 .dat 中绘制数据(绘图问题中没有数据)
- php - 正则表达式用逗号解析
- python - Django API 创建新用户
- asp.net - 在 Asp.Net MVC 5 中处理会话和多个工作进程
- python - 单击按钮时未触发 Onclick 功能