繁体   English   中英

在python中保存变量数据的正确方法是什么

[英]What is the correct way to save variable data in python

我有一些用python编写的有用脚本,可以帮助我测试项目(某些复杂的价格计算系统)。 在开始计算任何产品的价格之前,我需要解析服务器以获取仅与所需产品相关的值。 解析需要大约5秒钟的时间。 鉴于我知道何时需要从服务器更新值,所以我每次启动为我计算价格的方法时都不需要等待这5秒钟。 在这种情况下,我需要将解析后的信息存储在变量内,并将其用于进一步的价格计算。 但有时我还需要使用服务器更新我的信息。 简化的代码示例:

class Some_scripts(object):
    def __init__(self):
        pass

    def parser(self, endpoint, additional_requirements):
        some_parsing_code
        return required_info  # example of returned data [{"name":"John"}, {"name":"Jack"}...]

    def car_price_calc(self):
        self.required_values = self.parser(endpoint, additional_requirements)  # this one i need to store
        futher_work_with
        self.required_value

我想到的第一件事就是简单地将self.required_values写入文件,并添加一些其他标志,这些标志指示有关从服务器更新self.required_values方法或仅从文件中获取它的方法。 但这是解决我的问题的最正确,最可靠的方法吗?

取决于您的用例。 如果打算再次使用python进行读取,则酸洗是将python变量写入文件的最好方法。 https://docs.python.org/3/library/pickle.html

其他解决方案将是纯文本文件或某种结构化的文本格式,例如JSON或YAML。 这些对于人类阅读或使用其他语言的值更有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM