Python y la lectura de las líneas
-
13-09-2019 - |
Pregunta
Cuando ejecuto un .archivo exe que se imprime cosas fuera de la pantalla.No sé la línea específica de donde quiero imprimir pero hay una manera que puedo conseguir python para imprimir la siguiente línea después de que dice "Resumen" ?Sé que es ahí cuando se imprime y necesito la info a la derecha después.Gracias!
Solución
Python solución muy simple:
def getSummary(s):
return s[s.find('\nSummary'):]
Esto devuelve todo después de la primera instancia de Resumen
Si necesita ser más específico, me gustaría recomendar expresiones regulares.
Otros consejos
realmente
program.exe | grep -A 1 Summary
haría su trabajo.
Si el archivo exe imprime a la pantalla, a continuación, que los tubos de salida a un archivo de texto.He asumido el exe está en windows, a continuación, desde la línea de comandos:
myapp.exe > output.txt
Y su razonablemente robusto python de código sería algo como:
try:
f = open("output.txt", "r")
lines = f.readlines()
# Using enumerate gives a convenient index.
for i, line in enumerate(lines) :
if 'Summary' in line :
print lines[i+1]
break # exit early
# Python throws this if 'Summary' was there but nothing is after it.
except IndexError, e :
print "I didn't find a line after the Summary"
# You could catch other exceptions, as needed.
finally :
f.close()