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()
使用
string.split()
你可以實現這一點。您需要使用[
and]
將字元串分成兩部分。然後得到你想要的字元串部分。要刪除空格,您可以使用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)
如果您想要浮點數“3.610770”中的整數值,您可以使用
int(timeout_value)