最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python讀取指定日期郵件的實例

 更新時間:2019年02月01日 11:13:16   作者:試劍天下  
今天小編就為大家分享一篇Python讀取指定日期郵件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

背景:9月份有部分?jǐn)?shù)據(jù)缺失,這部分?jǐn)?shù)據(jù)在郵箱里,需要重新拉取,但是每天幾百封郵件,總共有6、7萬封郵件,使用stat()和retr(which)結(jié)合遍歷很

耗時

基于如上背景,初始大致思路為:

使用二分法獲取到需要恢復(fù)數(shù)據(jù)時間范圍內(nèi)的中間一個值,也就是第幾封郵件,然后分兩頭遍歷,

讀取到所有需要的郵件

算法函數(shù):

1、獲取到郵件的時間,由于可能收到格林威治時間郵件,所以這里做了相應(yīng)的處理

def getTimeStamp(cn):
  messages=mailServer.retr(cn)[1]
  mail = email.message_from_bytes('\n'.encode('utf-8').join(messages))
  date=email.header.decode_header(mail.get('date'))
  utcstr = date[0][0].replace('+00:00','')
  global utcdatetime
  try:
    utcdatetime = datetime.datetime.strptime(utcstr, '%a, %d %b %Y %H:%M:%S +0000 (GMT)')
    localdatetime = utcdatetime + datetime.timedelta(hours=+8)
    localtimestamp = localdatetime.timestamp()
  except:
    utcdatetime = datetime.datetime.strptime(utcstr, '%a, %d %b %Y %H:%M:%S +0800')
    localtimestamp = utcdatetime.timestamp()
  return localtimestamp

2、二分法

bu_daytimestamp yesterdaytimestamp兩個是需要補數(shù)據(jù)的時間戳
key_nums=0
mid2=mailCount
while 1==1:
  mid=getTimeStamp(round(mailCount))
  mid2=round(mid2/2)
  if mid >bu_daytimestamp:
    mailCount=mailCount-mid2
  elif mid<yesterdaytimestamp:
    mailCount=mailCount+mid2
  elif mid <=bu_daytimestamp and mid >=yesterdaytimestamp:
    key_nums=mailCount
    break
  print(mailCount)
print(key_nums)

這里只記錄算法,后續(xù)遍歷比較簡單,就不展示了

解釋下部分參數(shù):

mailServer:登錄后的郵箱

mailCount:總的郵件數(shù)量,來源于mailServer.stat()第二個參數(shù)

以上這篇Python讀取指定日期郵件的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python如何使用正則表達式的前向、后向搜索及前向搜索否定模式詳解

    python如何使用正則表達式的前向、后向搜索及前向搜索否定模式詳解

    這篇文章主要給大家介紹了關(guān)于python如何使用正則表達式的前向、后向搜索及前向搜索否定模式的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • OpenCV-Python實現(xiàn)腐蝕與膨脹的實例

    OpenCV-Python實現(xiàn)腐蝕與膨脹的實例

    形態(tài)學(xué)操作主要包含:腐蝕,膨脹,開運算,閉運算,形態(tài)學(xué)梯度運算,頂帽運算,黑帽運算等操作,本文主要介紹了腐蝕與膨脹,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python中進程和線程的區(qū)別詳解

    Python中進程和線程的區(qū)別詳解

    這篇文章主要介紹了Python中進程和線程的區(qū)別詳解,需要的朋友可以參考下
    2017-10-10
  • python:關(guān)于文件加載及處理方式

    python:關(guān)于文件加載及處理方式

    這篇文章主要介紹了python:關(guān)于文件加載及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Python中Selenium模擬JQuery滑動解鎖實例

    Python中Selenium模擬JQuery滑動解鎖實例

    這篇文章主要介紹了Python中Selenium模擬JQuery滑動解鎖實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • python命令 -u參數(shù)用法解析

    python命令 -u參數(shù)用法解析

    這篇文章主要介紹了python命令 -u參數(shù)用法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • PyQt5每天必學(xué)之帶有標(biāo)簽的復(fù)選框

    PyQt5每天必學(xué)之帶有標(biāo)簽的復(fù)選框

    這篇文章主要為大家詳細介紹了PyQt5每天必學(xué)之復(fù)選框的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的實現(xiàn)過程

    Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的實現(xiàn)過程

    Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的過程是一個涉及多個步驟的操作,旨在幫助開發(fā)者在開發(fā)過程中管理數(shù)據(jù)庫模式的變化,而不需要手動地刪除和重建數(shù)據(jù)庫表,從而避免數(shù)據(jù)丟失,以下是一個詳細的步驟說明,需要的朋友可以參考下
    2024-09-09
  • PyQt5打開文件對話框QFileDialog實例代碼

    PyQt5打開文件對話框QFileDialog實例代碼

    這篇文章主要介紹了PyQt5打開文件對話框QFileDialog實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • python list 合并連接字符串的方法

    python list 合并連接字符串的方法

    python 列表合并字符串,我們一般會用到字符串的join方法來操作。下面通過代碼的形式,詳細的說下list怎么拼成字符串?
    2013-03-03

最新評論

大同市| 禄劝| 句容市| 胶州市| 大荔县| 腾冲县| 长丰县| 绥中县| 新河县| 惠州市| 舟山市| 南木林县| 湛江市| 平潭县| 奇台县| 嘉义市| 临朐县| 太原市| 恩平市| 平原县| 吴旗县| 抚宁县| 九江县| 什邡市| 兴城市| 彰化市| 绥江县| 靖安县| 汨罗市| 富源县| 濮阳市| 六盘水市| 仪征市| 荆门市| 白水县| 大冶市| 民县| 邛崃市| 鹿泉市| 东方市| 南昌市|