Как запустить и сравнить некоторую информацию из программ windows / console с python? - PullRequest
1 голос
/ 20 июня 2011

Прошло много времени с моей последней "игры" с python, и в последнее время мне нужно что-то с этим делать, но я мало что помню об этом, даже для импорта нужны libs ... Не могли бы вы, ребята?дайте мне руку?

Я приведу вам пример, это не совсем то сравнение, которое мне нужно, но оно будет работать так же, как это ...

Например, мне нужно сравнитьнекоторые данные получены от ping с различными размерами пакетов.

Вот предложение: я хочу, чтобы моя программа запустила команду ping до 192.168.1.1 с аргументами -l (размер буфера) от 0 до, скажем,, 100, и сравните, ведьма высока или ниже ...

Примерно так:

ping 192.168.1.1 -l 1
1ms
ping 192.168.1.1 -l 2
1ms
ping 192.168.1.1 -l 3
2ms

и так далее, поэтому, когда он достигает -l 100, он дает мне аргументс более высоким (или более низким) пингом, что-то вроде этого:

higher ping: 2ms (-l 3)

Спасибо за помощь.

1 Ответ

0 голосов
/ 20 июня 2011

Используйте subprocess.check_output и анализируйте его вывод http://docs.python.org/library/subprocess.html#subprocess.check_output.Согласно документации:

Запустите команду с аргументами и верните ее вывод в виде байтовой строки.

Например,

import subprocess, re
c = subprocess.check_output(["ping","www.google.com"])
t = re.findall('time=(\d+)ms',c) #Or parse something like 'Maximum = 67ms' in the output
max(t)
>>> '67'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...