[PYTHON]Imprimir media de ms

Iniciado por dimineko, 12 Agosto 2018, 20:55 PM

0 Miembros y 1 Visitante están viendo este tema.

dimineko

CÓDIGO:
Código (python) [Seleccionar]
import os
from time import strftime
from time import sleep
def imprimir_hora():
hora = strftime("[%H:%M:%S]      ")
print (hora)
def ms():
tubo = os.popen("ping google.com")
datos = tubo.readlines()
print (datos)


ms()


Hola! Tengo una duda.
Quiero hacer un script que compruebe la conexión del que lo esta ejecutando para luego realizar otra cosa.La cosa es que quiero separar la parte final del script en la cual te dice algo como "Media = 6ms" por ejemplo.
El idioma realmente da igual ya que lo que quiero separar es el "6ms".
Se que haciendolo una lista se conseguiría pero no lo logro.
A la parte de la hora no le hagais caso.
Un saludo y gracias.


PD: En resumidas cuentas,quiero ejecutar el script y que imprima ,por ejemplo: 6ms. (es la media que te hace el comando)

tincopasan

varias cosas:
1)
CitarEl idioma realmente da igual ya que lo que quiero separar es el "6ms"
supongo que te refieres al lenguaje de programación.
si es así es evidente que solo buscas un resultado no un aprendizaje

2)
CitarSe que haciendolo una lista se conseguiría pero no lo logro.
A)
Código (python) [Seleccionar]
datos = tubo.readlines() ya es una lista! no es necesario hacerla lista
B)¿y el código sobre listas que no consigues usar?
Si por casualidad estás intentando aprender python, el uso de listas es lo más básico que debes aprender.

3) solo con el uso de listas se volverá difícil, debiido a las variables en el resultado de las cadenas, por lo tanto deberás apoyarte en otro módulo(re) para solventar ese escollo.

4)Ahora, como esto que es muy básico también le puede servir a todo aquel que quiere aprender lo simple, haré una solución en base a este código, que por cierto no es el mejor ni más óptimo, simplemente funcional, y dudo que sea una tarea común en cursos o clases , etc.


Código (python) [Seleccionar]

import os
from time import strftime
from time import sleep
import re   #necesario para usar expresiones regulares
def imprimir_hora():
    hora = strftime("[%H:%M:%S]      ")
    print (hora)
def ms():
    tubo = os.popen("ping google.com")
    datos = tubo.readlines()   #todos los datos en una lista
    print(datos)  # repito, ya es una lista!!
    ultimo=len(datos) - 1      #obtener el último elemento de la lista, es donde esta la media,no estoy seguro que sea siempre igual   
    encontrada= re.search("Media",datos[ultimo]) #buscar que este la palabra media
    desde= encontrada.start()  #que posición ocupa en la cadena, varia de acuerdo al nombre de la página
    print (datos[ultimo][desde:]) # mostrar la cadena desde el inicio de media
   
ms()
input()  #sino desde la consola no podrás ver la respuesta


Saludos.

dimineko