3 回答

TA貢獻1860條經驗 獲得超9個贊
如果您的文件不需要可移植,最簡單的解決方案是使用 python?pickling。缺點是您無法手動檢查文件或出于調試目的修改文件,而不是基于文本的保存(例如 ini 文件、json 或簡單的 txt)。主要優點是易于使用,因為您可以通過這種方式序列化任何 python 基本類型。
這是一個關于如何使用它的簡單示例:
import pickle
def get_status():
? ? with open('status','rb') as f:
? ? ? ? status = pickle.load(f)
? ? ? ? return status
? ? ? ??
def set_status(status:bool):
? ? with open('status','wb') as f:
? ? ? ? pickle.dump(status,f)
set_status(True)
s = get_status()
assert s
set_status(False)
s = get_status()
assert not s

TA貢獻1817條經驗 獲得超14個贊
根據您在評論中所寫的內容,我會將其更改為:
import json
ping_data = dict()
with open('C:\ping_data.json') as file:
data = json.load(file)
def ping_host(address):
status = ping_url(address.address)
if data['address.status'] != status:
ping_data['address.status'] = status
send_message(("! " if status is None else "+ " if status else "- ") + address.comment)
ping_host(youraddress)
with open('C:\ping_data.json', 'w') as file:
json.dump(ping_data, file, indent=2)
我這樣做的方法是使用 json 庫
import json
接下來我會在你的腳本中創建一個字典
saved_data = dict()
然后每當我收到更新時我都會將值存儲在字典中
saved_data['info'] = updated_info
和出口?它到一個json文件
with open('saved_data.json', 'w') as file:
json.dump(saved_data, file, indent=2)
現在,每當我打開程序時,它都會像這樣讀取該文件
with open('saved_data.json') as file:
data = json.load(file)
然后我將以字典的形式訪問變量數據
for k in data:
for info in data[k]:
if info != updated_info
saved_data['info'] = updated_info
添加回答
舉報