Eu preciso copiar a janela de tempo em uma variável da linha do arquivo .txt usando Python.
Arquivo de entrada:
[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
Portanto, a partir do arquivo de entrada acima, preciso que o valor "3.610770" seja copiado para a variável integer porque essa linha contém a string "Soft reset timeout" .
Eu consegui escrever uma parte do código, mas não consegui prosseguir.
Trecho de script 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()
Usando
string.split()
você pode conseguir isso. Você precisa usar[
e]
dividir uma string em duas partes. Em seguida, pegue a parte da string que você deseja. Para remover espaços em branco, você pode usarstring.strip()
Se você quiser um valor inteiro do número float '3.610770', você pode usar
int(timeout_value)
Obtenha a parte da substring que deseja converter em uma variável (myVar). Você pode então converter a variável em um inteiro:
int(myVar)
Consulte Existe uma maneira de substring uma string? e Como converter strings em inteiros em Python?