有没有一种方法可以永久更改变量,因此在代码完成后它不会重置?我有以下代码:
variables.py:
myvar = None
Main.py:
import variables
variables.myvar = True
Get_variable.py:
import variables
print(variables.myvar)
输出:
None
我希望它打印True
答案 0 :(得分:2)
我认为这是不可能的(无需在第二个脚本中重写整个python脚本即可将整个内容写回到文件中),但是还有另一种方法可以做到这一点。除了将变量存储在python脚本中之外,您还可以将变量存储在另一种文件中,例如json。您可能有“ variables.json”:
{ "myvar": null }
然后在您的python中:
import json # import the json library
with open("variables.json", "r") as f: # read the json file
variables = json.load(f)
myvar = variables["myvar"] # To get the value currently stored
variables["myvar"] = True # change the variable in python
with open("variables.json", "w") as f: # write back to the json file
json.dump(variables, f)
如果您有很多变量,可以将它们全部存储在json中,就像字典一样:
{ "onevar": null,
"twovar": "kittens",
"redvar": "foo",
"bluevar": "bar" }
对于OPENOFFICE WRITER: 由于您是在Raspberry pi上的OpenOffice中编写所有这些文件的,而自己无法创建json文件(Open Office假定它是一个作家文档),因此您可以简单地允许python创建它:
import json
variables = { "onevar": null,
"twovar": "kittens",
"redvar": "foo",
"bluevar": "bar" }
with open("variables.json", "w") as f:
json.dump(variables, f)
如果告诉python打开要写入的文件,但该文件不存在,则python应该创建有问题的文件,除非被告知要在不存在的目录中创建文件(因此,您不能如果目录“ myfolder”不存在,请说open(“ myfolder / variables.json”,“ w”)。您可以运行一次以初始化json文件,然后从那里继续打开和关闭。
答案 1 :(得分:-3)
您可以更改文件:
instance.branch = new value of branch
instance.save()
return instance
那应该更改实际文件。