第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python輸出布爾變量到文件(讀、檢查、寫)

Python輸出布爾變量到文件(讀、檢查、寫)

汪汪一只貓 2024-01-16 10:21:57
我是Python新手。告訴我如何實(shí)現(xiàn)將變量的值保存到文件中,以便在程序重新啟動(dòng)時(shí)不會(huì)收到不必要的通知。該程序會(huì)對(duì)服務(wù)器執(zhí)行 ping 操作,并在狀態(tài)發(fā)生變化時(shí)發(fā)送一條消息。當(dāng)您重新啟動(dòng)程序時(shí),它不會(huì)保存其檢查的歷史記錄。這是非常不舒服的。我希望我正確地解釋了這個(gè)問題?我需要不斷地將檢查結(jié)果保存到文件中,并在比較新檢查時(shí)使用這些數(shù)據(jù)。def ping_host(address):    status = ping_url(address.address)    if status != address.status:        send_message(( "! " if status is None else "+ " if status else                      "- ") + address.comment)        address.status = status該函數(shù)檢查狀態(tài),如果狀態(tài)發(fā)生變化,則發(fā)送新消息。
查看完整描述

3 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果您的文件不需要可移植,最簡單的解決方案是使用 python?pickling。缺點(diǎn)是您無法手動(dòng)檢查文件或出于調(diào)試目的修改文件,而不是基于文本的保存(例如 ini 文件、json 或簡單的 txt)。主要優(yōu)點(diǎn)是易于使用,因?yàn)槟梢酝ㄟ^這種方式序列化任何 python 基本類型。

這是一個(gè)關(guān)于如何使用它的簡單示例:

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


查看完整回答
反對(duì) 回復(fù) 2024-01-16
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以創(chuàng)建一個(gè)文件history.txt,然后在啟動(dòng)時(shí)打開它,并讀取最后的狀態(tài),如果不同,則覆蓋文件中的該狀態(tài)并保存。



查看完整回答
反對(duì) 回復(fù) 2024-01-16
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

根據(jù)您在評(píng)論中所寫的內(nèi)容,我會(huì)將其更改為:


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

接下來我會(huì)在你的腳本中創(chuàng)建一個(gè)字典


saved_data = dict()

然后每當(dāng)我收到更新時(shí)我都會(huì)將值存儲(chǔ)在字典中


saved_data['info'] = updated_info

和出口?它到一個(gè)json文件


with open('saved_data.json', 'w') as file:

    json.dump(saved_data, file, indent=2)

現(xiàn)在,每當(dāng)我打開程序時(shí),它都會(huì)像這樣讀取該文件


with open('saved_data.json') as file:

    data = json.load(file)

然后我將以字典的形式訪問變量數(shù)據(jù)


for k in data:

    for info in data[k]:

        if info != updated_info

            saved_data['info'] = updated_info


查看完整回答
反對(duì) 回復(fù) 2024-01-16
  • 3 回答
  • 0 關(guān)注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)