Python:有没有办法永久更改另一个 Python 文件中的变量?
Python: is there a way to permanently change a variable from another Python file?
有没有办法永久更改变量,使其在代码完成时不会重置?我有这个代码:
variables.py:
myvar = None
Main.py:
import variables
variables.myvar = True
Get_variable.py:
import variables
print(variables.myvar)
输出:
None
我要打印 True
您可以更改文件:
fin = open("path-to-variables.txt","a")
fin.write("myvar = True")
这应该更改实际文件。
我认为这是不可能的(无需在第二个脚本中重写整个 python 脚本以将整个内容写回文件),但还有另一种方法可以做到这一点。您可以将变量存储在另一种类型的文件中,例如 json,而不是将变量存储在 python 脚本中。你可以有 "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 作家:
由于您是在 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 文件,然后从那里继续打开和关闭。
有没有办法永久更改变量,使其在代码完成时不会重置?我有这个代码:
variables.py:
myvar = None
Main.py:
import variables
variables.myvar = True
Get_variable.py:
import variables
print(variables.myvar)
输出:
None
我要打印 True
您可以更改文件:
fin = open("path-to-variables.txt","a")
fin.write("myvar = True")
这应该更改实际文件。
我认为这是不可能的(无需在第二个脚本中重写整个 python 脚本以将整个内容写回文件),但还有另一种方法可以做到这一点。您可以将变量存储在另一种类型的文件中,例如 json,而不是将变量存储在 python 脚本中。你可以有 "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 作家: 由于您是在 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 文件,然后从那里继续打开和关闭。