2016-04-28 15 views
-3

reを使用せずにこの同じロジックを使用する方法。REを使用せずにDateTimeを使用するには?

#!/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:DateTimeとTimeを使用します。

+0

? –

+0

私たちはあなたのためのプログラムを書いていません...何が問題ですか?あなたはコーディングの初心者ですか? –

+0

はい。私は日時フォーマットを使用したい。私は正規表現を使用しました。私はより鮮やかな男です。私を助けてください。 –

答えて

0

string.find()を使用できますが、正規表現を使用する方がよいでしょう。

+0

アイメイト。私は知っていますが、要件はdatetimeを使用することです –

+0

.logファイルを読み込み、startTimeとendTimeを比較して結果を取得しています。あなたの質問は明確ではありません。日時の正確な問題を教えてください。 DateTimeは日付と時刻を操作するためのもので、Reは操作の一致のためのものです。 – user2030113

+0

開始時刻と終了時刻は、ログファイルからログエントリを取得するために設定したパラメータ値です。私がログファイルを持っていると仮定し、開始時刻と終了時刻の間にログエントリを見つけたい。私はそれをより良く説明する方法を知らない。ご理解ください。 –

0

インポート

再日時インポート日時 インポートから日時

DT1 =日時それぞれDT1とDT2として

を12時00分○○秒と午前4時59分59秒のための2つのDateTimeオブジェクトを作成します.strptime( "12:00:00"、 "%H:%M:%S")時間() dt2 = datetime.strptime( "04:59:59"、 "%H:%M:%S ").time()

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

オープンにおけるラインの

( "test.log"、 "R"): マッチ= time_re.search(ライン) 一致する場合: matchdate = match.group(1) dt_match = datetime.strptime(matchdate、 '%H:%M:%S' が。)時間() dt_match> = DT1とdt_match < = DT2の場合: 印刷match.string.strip()

正確に現在のアプローチの問題点は何
+0

これは自己回答ですか?コードの書式を修正してください。 – SiHa

関連する問題