-1

長いテキスト ファイルを検索して語句が含まれるセクションを見つけ、その語句を 1 つの列に、対応するデータを新しいテキスト ファイルの別の列に出力しようとしています。

探しているフレーズは です"Initialize All"。テキスト ファイルには数千行が含まれます。探している行は次のようになります。

14-09-23 13:47:46.053 -07 000000027 INF: Initialize All start

これは私が今のところどこにいるのかまだ3つの別々の列を印刷しようとしています: すべて初期化、日付、時刻

with open ('Result.txt', 'w') as wFile:
    with open('Log.txt', 'r') as f:
        for line in f:
            if 'Initialize All' in line:
                date, time = line.split(" ",2)[:2]
                wFile.write(date)
4

3 に答える 3

0
s = "14-09-23 13:47:46.053 -07 000000027 INF: Initialize All start"
if "Initialize All" in s: # check for substring
     date, time = s.split(" ",2)[:2] # split on whitespace and get the first two elements
     print date,time

14-09-23 13:47:46.053

2inはに設定されていることをs.split(" ",2)意味するため、文字列全体を分割する以外に 2 回分割するだけで、デフォルトでは空白で分割することもできますが、最初の 2 つの部分文字列のみが必要なため、文字列全体を分割しても意味がありません。maxsplit2s.split()[:2]

于 2014-09-29T22:05:45.407 に答える
0

あなたが使用することができますregex:

lines=open('file.txt', 'r').readlines()
[re.search(r'\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}',line).group(0) for line in lines: if 'Inintialize All' in line]
于 2014-09-29T22:30:46.980 に答える
0
with open('file.txt', 'r') as f:
    for line in f:
        if 'Inintialize All' in line:
            # do stuff with line
于 2014-09-29T22:00:55.110 に答える