Так что я пишу эту питона программу, которая должна извлечь круглое время поездки из текстового файла, который содержит многочисленные звоны, что там в текстовом файле я просматриваемый ниже:Синтаксического число с плавающим от выхода пинга в текстовом файле
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=1 ttl=60 time=12.6ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=2 ttl=60 time=1864ms
64 bytes from a104-100-153-112.deploy.static.akamaitechnologies.com (104.100.153.112): icmp_seq=3 ttl=60 time=107.8ms
Я хочу извлечь из текстового файла 12.6, 1864 и 107.8. Я использовал регулярные выражения, чтобы сделать это, и есть следующее:
import re
ping = open("pingoutput.txt")
rawping = ping.read()
roundtriptimes = re.findall(r'times=(\d+.\d+)', rawping)
roundtriptimes.sort()
print (roundtriptimes)
Проблема у меня в том, что я считаю, что цифры считываются в список roundtriptimes как строки, так, когда я иду, чтобы отсортировать их, они не сортировать как я бы хотел.
Любая идея, как изменить мою команду поиска regex, чтобы убедиться, что она распознает их, поскольку числа будут очень полезны! Благодаря!
Перекрестная писал: http://unix.stackexchange.com/questions/314093/parsing-text-file-in-python/314095#314095http://unix.stackexchange.com/questions/314093/ parsing-text-file-in-python/314095 # 314095 Я уже отвечаю вам, даже с ** полным рабочим ** кодом python ... –
@GillesQuenot Я только что увидел это после отправки ответа. Это очень неудачно. На самом деле в вашем ответе есть полностью функциональное решение Python (и на самом деле это регулярное выражение, которое лучше моего). – idjaw