извлечь значение из строки, прочитанной из текстового файла - PullRequest
0 голосов
/ 07 мая 2018

Я хочу извлечь значение полосы пропускания из строки, прочитанной из файла, используя этот код

  try:
        s1 = open(argv[1], "r")
  except IOError:
        print("server1: fopen");
        sys.exit(-1); 

 lines1 = s1.readlines()
 line1 = lines1[c]
 print line1
 f1 = re.split('.Bytes.*', line1)
 print f1

строка содержит это выражение

[  4]  0.0- 1.0 sec   218 KBytes  1.79 Mbits/sec

и

print f1

дает это значение

['[  4]  0.0- 1.0 sec   218 ', '\n']

Я хочу прочитать последнее число с буквой М, а затем вычислить число как

if M
  B = 1.79*1000000
else if K
  B = 1.79*1000

и B должны быть числами с плавающей запятой

Как мне извлечь последнее значение?

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете сделать это также без регулярных выражений.

splitted = filter(None, line1.split())
speed = float(splitted[-2])
unit = splitted[-1]
if "M" in unit:
    B = speed*1000000
else if "K" in unit
    B = speed*1000

Дайте мне знать, как это работает - я еще не проверял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...