簡體   English   中英

如何在程序中永久保存數據

[英]How to permanently save data in your program

乍一看,這個問題可能不太清楚,我確定它存在於某個地方,但我已經搜索並沒有找到任何東西

我的問題是,我有一個程序,它可以將您提供的單詞保存在文本文件中,並且我有一個名為count的變量,並且每次保存該變量時都會遞增

我的問題就在這里,所以每當我重新啟動程序時,計數變量都會重置為 0

有沒有辦法解決這個問題?

計算機是用來存儲數據的,所以有很多方法。 使用文本文件,JSON 文件,數據庫,...

簡單的概念驗證解決方案:

# ON program start
try:
    with open("count.txt", "r") as f:
        count = int(f.read())
except OSError: # file not there or unreadable
    count = 0
except (TypeError, ValueError): # file content not an int
    count = 0

#...
# whenever count changes
with open("count.txt", "w") as f:
    f.write(str(count))

存儲更復雜的數據。 JSON 格式可以存儲數字、字符串、boolean 值以及列表和對象(鍵值對)。

from json import dump, load

def load_data(filename="data.json"):
    try:
        with open(filename, "r") as f:
            return json.load(f)
    except ...: # add error-handling here as above

def save_data(data, filename="data.json"):
    with open(filename, "w") as f:
        json.dump(data, f)

# on start
data = load_data()

# on change of data
save_data(data)

我建議您在項目中包含一個屬性文件,並在每次計數器增加時更新該文件屬性文件計數器值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM