gpt4 book ai didi

来自单独文件的Python变量值?

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:41 25 4
gpt4 key购买 nike

我有一个每天 24 小时运行的 Python 脚本。

此脚本中的一个模块正在使用我希望不时更改的变量值,无需停止脚本、编辑模块文件,然后再次启动脚本(我需要尽可能避免中断).

我想过将变量存储在一个单独的文件中,模块会在需要时从文件中获取新值并使用它们。

Pickle 似乎是一个解决方案,但它不是人类可读的,因此不容易更改。可能是一个 JSON 文件,或者我再次导入的另一个 .py 文件?

对我来说,这样做的另一个好处是,在中断的情况下(例如服务器重启),如果我从一个单独的文件加载它们,我可以使用最新的变量值恢复脚本。

是否有推荐的方法来做这些事情?

沿线的东西:

# variables file:
variable1 = 10
variable2 = 25


# main file:
while True:
import variables
print('Sum:', str(variable1+variable2))
time.sleep(60)

最佳答案

维护带有变量的文本文件的一种简单方法是 YAML 格式。 This answer explains如何使用它,基本上:

import yaml
stream = open("vars.yaml", "r")
docs = yaml.load_all(stream)

如果您有多个变量,最好检查文件描述符以查看文件最近是否更新,并且仅在文件发生更改时才重新加载变量。

import os
last_updated = os.path.getmtime('vars.yaml')

最后,由于您希望避免脚本中断,因此最好让脚本捕获 YAML 文件中的任何错误并警告用户,而不是抛出异常然后死掉。但也要记住“错误不应该悄悄过去”。这里最好的方法是什么取决于您的用例。

关于来自单独文件的Python变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47740072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com