亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 如果打印結果與之前相同,則不進行任何更改,否則打印新結果。每 10 分鐘再次運行一次

Python 如果打印結果與之前相同,則不進行任何更改,否則打印新結果。每 10 分鐘再次運行一次

慕桂英3389331 2024-01-04 16:42:25
我想每 10 分鐘運行一次這個腳本,如果今天的結果相同,我不想再次打印它們,除非它們發生變化。這可能嗎?不,我無論如何都不是程序員,這只是一種愛好。我正在使用 Twilio 向我發送一條有關可用露營地的短信,但我不希望每 10 分鐘收到相同的短信。我刪除了 Twilio 代碼,因為它包含我的帳戶信息。預先感謝您的任何幫助。下面是我的代碼。from datetime import datetimeimport pandas as pdimport requestsfrom tabulate import tabulateresult = []for unit_id in range(5095, 5099):    resp = requests.get(        f"https://calirdr.usedirect.com/rdr/rdr/fd/"        f"availability/getbyunit/{unit_id}/startdate/2020-10-30/nights/30/true?").json()    result.extend(resp)filter_by = ['UnitId', 'StartTime', 'IsFree', 'IsWalkin']df = pd.DataFrame(result)df = df.filter(items=filter_by)df['StartTime'] = df['StartTime'].apply(lambda d: datetime.fromisoformat(d).strftime("%Y-%m-%d"))df = df[df['IsFree']]df = df[~df['IsWalkin']]df['UnitId'] = df['UnitId'].replace([5095], 'Site 81')df['UnitId'] = df['UnitId'].replace([5096], 'Site 82')df['UnitId'] = df['UnitId'].replace([5097], 'Site 83')df['UnitId'] = df['UnitId'].replace([5098], 'Site 84')df['UnitId'] = df['UnitId'].replace([5099], 'Site 85')print(tabulate(df, headers=filter_by))以下是運行代碼的結果。    UnitId    StartTime    IsFree    IsWalkin--  --------  -----------  --------  ----------62  Site 83   2020-11-01   True      False80  Site 83   2020-11-19   True      False89  Site 83   2020-11-28   True      FalseProcess finished with exit code 0
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

這將運行程序,等待十分鐘,檢查上一個結果是否與當前結果相同,如果是,則退出。所以你現在要做的就是弄清楚如何在第二天之前戒掉它:)


//編輯:我編輯了與您的評論相對應的代碼


from datetime import datetime

import pandas as pd

import requests

from tabulate import tabulate

import time


def main():

    result = []

    for unit_id in range(5095, 5099):

        resp = requests.get(

        f"https://calirdr.usedirect.com/rdr/rdr/fd/"

        f"availability/getbyunit/{unit_id}/startdate/2020-10-30/nights/30/true?").json()

        result.extend(resp)


    filter_by = ['UnitId', 'StartTime', 'IsFree', 'IsWalkin']

    df = pd.DataFrame(result)

    df = df.filter(items=filter_by)

    df['StartTime'] = df['StartTime'].apply(lambda d: datetime.fromisoformat(d).strftime("%Y-%m-%d"))

    df = df[df['IsFree']]

    df = df[~df['IsWalkin']]

    df['UnitId'] = df['UnitId'].replace([5095], 'Site 81')

    df['UnitId'] = df['UnitId'].replace([5096], 'Site 82')


    return tabulate(df, headers=filter_by)



res_before = ""

while True:

    res = main()

    if res != res_before:

        print(res)

        res_before = res

    else:

        print("nothing changed")

    time.sleep(600)


查看完整回答
反對 回復 2024-01-04
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號