2016-12-05 76 views
0

我有一些用python編寫的有用的腳本,可以幫助我測試項目(一些複雜的價格計算系統)。在開始計算任何產品的價格之前,我需要解析服務器以獲取僅與所需產品相關的值。這個解析需要時間,大約5秒。鑑於,我知道什麼時候需要更新服務器的值,每當我啓動我的方法來計算價格時,我不需要等待這5秒鐘。 在這種情況下,我需要將分析的信息存儲在變量中,並將其用於進一步的價格計算。但有時我也需要用服務器更新我的信息。 簡化代碼示例:在python中保存可變數據的正確方法是什麼

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或只是從文件服用方法。但它是解決我的問題最正確,最可靠的方法嗎?

+2

你可以寫在簡單的文件,JSON文件等或在酸菜或類似的(它也保存在文件中)。其他解決方案是數據庫 – furas

回答

5

取決於你的用例。酸洗是編寫python變量到文件的最好方式,如果你打算再次用python讀取它。 https://docs.python.org/3/library/pickle.html

其他解決方案可能是純文本文件,或者有些結構化的文本格式,如JSON或YAML。這些對於人類閱讀,或以不同語言使用你的價值觀更有用。

+0

謝謝。將它保存爲'json.dump()'並將其作爲'json.loads()'打開。只是爲了我的成長。我也可以用字典把我的列表保存爲pickle,然後打開它作爲變量並遍歷這個列表的字典?如果是,你可以請示例代碼如何做到這一點。 – Unbrok3n

相關問題