100 Beispiele für Python --- Nehmen Sie den Text des angegebenen Zeitraums heraus

Viele Dateien wie Protokolle haben ein Zeitfeld. Manchmal möchten wir Daten für einen bestimmten Zeitraum abrufen. Zum Beispiel diese Datei:

[root @ www py2] # cat mylog.log 
 2019 - 05 - 15  08 : 10 : 01 aaaa
 2019 - 05 - 15  08 : 32 : 00 bbbb
 2019 - 05 - 15  09 : 01 : 02 cccc
 2019 - 05 - 15  09 : 28 : 23 dddd
 2019 - 05 - 15  10 : 42: 58 eeee
 2019 - 05 - 15  11 : 08 : 00 ffff
 2019 - 05 - 15  12 : 35 : 03 gggg
 2019 - 05 - 15  13 : 13 : 24 hhhh

Wir möchten die Daten zwischen 9:00 und 12:00 erhalten. Beobachten Sie die Datei und stellen Sie fest, dass die ersten 19 Zeichen Zeit sind, solange dieser Teil der Daten in das entsprechende Zeitobjekt konvertiert wird und beurteilt wird, ob er zwischen 9:00 und 12:00 Uhr liegt:

## Verwenden des Zeitmoduls
Import Zeit 
Logfile = mylog.log 
# Jede Zeile holen Protokolldatei, Bestimmungszeit, wenn es zwischen 9.00 bis 12.00 Uhr ist der Druck 
T9 die time.strptime = ( ' 2019.05.15 09.00 Uhr: 00 ' , ' % Y-% m-% d% H:% M:% S ' ) 
t12 = time.strptime ( ' 2019-05-15 12:00:00 ' , ' % Y-% m-% d % H:% M:% S ' ) 
mit open (logfile, ' r ' ) als fobj:
     für Zeile in fobj: 
        t = time.strptime (Zeile [: 19], ' % Y-% m-% d% H. :% M:% S.' )
         IF T> T12:      # , wenn die Zeit größer als die maximale Zeit ist direkt, direkt das Programm beenden schneller ausgeführt 
            BREAK 
        IF T> T9:
             Print (Linie, Ende = ' ' )
## Datetime-Modul verwenden
aus DATETIME- import DATETIME 
Logdatei = ' mylog.log ' 
starten = datetime.strptime ( ' 2019.05.15 09.00.00 ' , ' % Y-% m-% d% H:% M:% S ' ) 
End = datetime.strptime ( ' 2019.05.15 12.00.00 ' , ' % Y-% m-% d% H:% M:% S ' ) 
mit offenem (Logfile, ' r ' ) als fobj :
     für Zeile in fobj: 
        t = datetime.strptime (Zeile [: 19], '% Y-% m-% d% H:% M:% S ' )
         wenn t> Ende:
             Pause, 
        wenn t> Start:
             Drucken (Zeile, Ende = ' ' )

Ich denke du magst

Origin www.cnblogs.com/liangbc/p/12690965.html
Empfohlen
Rangfolge