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()
이를 달성할 수 있습니다 . 문자열을 두 부분으로 나누어 [
사용해야 합니다 . ]
그런 다음 원하는 문자열 부분을 가져옵니다. 공백을 제거하려면 다음을 사용할 수 있습니다.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)
답변2
변수로 변환할 하위 문자열 부분(myVar)을 가져옵니다. 그런 다음 변수를 정수로 변환할 수 있습니다.int(myVar)
바라보다문자열을 부분 문자열로 묶는 방법이 있나요?그리고Python에서 문자열을 정수로 변환하는 방법은 무엇입니까?