Pythonスクリプト言語の行の一部を整数にコピーします。

Pythonスクリプト言語の行の一部を整数にコピーします。

Pythonを使用して、.txtファイル行のタイミングウィンドウを変数にコピーする必要があります。

入力ファイル:

[Fri Dec 07 18:50:16.775 2018] [    3.610065] dwc3 e2d00000.usb_core: SUCCESS allocating dump_regset memory
[Fri Dec 07 18:50:16.775 2018] [    3.610770] dwc3 e2d00000.usb_core: Soft reset timeout -29631
[Fri Dec 07 18:50:16.775 2018] [    3.614879] dwc3 e2d00000.usb_core: Dump USB registers

だから上記の入力ファイルから必要「3.610770」行には以下が含まれているため、整数変数にコピーする値「ソフトリセットタイムアウト」ひも。

コードの一部を書きましたが、続行できません。

Pythonスクリプトフラグメント:

import sys
inFile = sys.argv[1]

with open(inFile) as fp:
    line = fp.readline()

    while line:
        if "Soft reset timeout" in line:
        #print line
            if "[    " in line:
            #To Do...

        #if "Dump USB registers" in line:
        line = fp.readline()

ベストアンサー1

を使用してstring.split()これを達成できます。文字列を2つの部分に分割して[使用する必要があります。]次に、目的の文字列部分を取得します。スペースを削除するには、次を使用できます。string.strip()

import sys
input_file=sys.argv[1]
with open(input_file) as fp:
    lines=fp.readlines()
    for line in lines:
        if "Soft reset timeout" in line:
            #print(line)
            second_field=line.split("[")[2]
            timeout_str=second_field.split("]")[0]
            timeout_value=timeout_str.strip()
            print(timeout_value)

float "3.610770"の整数値が必要な場合は、次のものを使用できます。int(timeout_value)

おすすめ記事