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
添加回答
举报