2016-04-28 3 views
-3

So verwenden Sie die gleiche Logik ohne die re.Wie verwende ich DateTime ohne RE?

#!/usr/bin/env python 

#Import the regular expression 
import re 

print "The task Begins" 

print " The Begin time is at 03:00:00" 
#Set the beginning time and name it as starttime 
starttime="03:00:00" 

print "The End time is at 03:59:59" 
#Set the ending time and name it as endtime 
endtime="03:59:59" 

#Specify the time format 
time_re = re.compile(r'(\d+:\d+:\d+)') 

#Using the condition 
with open("abc.log", "r") as fh: 

for line in fh.readlines(): 
    match = time_re.search(line) 
    if match: 
     matchDate = match.group(1) 
     if matchDate >= starttime and matchDate <= endtime: 
      print match.string.strip() 

print "The task is completed" 

PS: Verwenden Sie DateTime und Time.

+0

Was genau das Problem mit dem aktuellen Ansatz ist? –

+0

wir schreiben keine Programme für Sie ... Was ist das Problem? Bist du ein Anfänger im Codieren? –

+0

Ja Mann. Ich möchte das Datetime-Format verwenden. Ich habe regelmäßigen Ausdruck verwendet. Ich bin ein frischerer Mann. Helfen Sie mir. –

Antwort

0

Sie können string.find() verwenden, aber es ist besser, regulären Ausdruck zu verwenden.

+0

Aye Mate. Ich weiß, aber die Anforderung ist, Datetime –

+0

zu verwenden. Sie lesen .log-Datei und erhalten Ergebnis durch Vergleich von StartTime und EndTime. Deine Frage ist nicht klar. Können Sie Ihr genaues Problem für Datetime nennen? DateTime dient zum Bearbeiten von Daten und Zeiten und Re dient zum Anpassen von Operationen. – user2030113

+0

Start- und Endzeit ist der Parameterwert, den ich gesetzt habe, um den Protokolleintrag aus der Protokolldatei abzurufen. Angenommen, ich habe die Logdatei richtig, ich möchte den Log-Eintrag zwischen der Startzeit und der Endzeit finden. Ich weiß nicht, wie ich es besser erklären soll. Bitte verstehe. –

0

Import der Datumzeit

von Datetime-Importdatetime import re

zwei für 00.00.00 und 04.59.59 Datetime-Objekt erstellen als DT1 und DT2 bzw.

DT1 = Datumzeit .strptime ("12:00:00", "% H:% M:% S"). time() dt2 = datetime.strptime ("04:59:59", "% H:% M:% S ") .time()

time_re = re.compile (r '(\ d +: \ d +: \ d +)')

für Zeile in open ("test.log", "r"): match = time_re.search (line) wenn match: matchdate = match.group (1) dt_match = datetime.strptime (matchdate, '% H:% M:% S'.) Zeit() wenn dt_match> = DT1 und dt_match < = dt2: Druck match.string.strip()

+0

Soll das eine Selbstantwort sein? Bitte korrigieren Sie Ihre Codeformatierung. – SiHa

Verwandte Themen