Форум сайта python.su
0
Добрый день!
Начну с того, что с программированием вообще я знаком очень поверхностно. А с питоном в частности еще поверхностней. Теперь по сути.
Есть текстовый файл с конфигом маршрутизатора, файл большой. Для примера приведу отрывок:
PDSN Service:
In Use : 1
Max PDSN Used : 2 ( Thursday June 1 22:26:33 MSD 2011 )
Limit : 3
License Status : Within Acceptable Limits
EV-DO Rev A PDSN Service:
In Use : 4
Max EV-DO Rev A PDSN Used : 5 ( Monday October 1 14:36:33 MSD 2011 )
Limit : 6
License Status : Within Acceptable Limits
Офлайн
0
не нашел как приатачить файл. вот скрипт.
from fabfile import basedir
import os.path
import re
hosts = [ '1', '2', '3' ]
#файлы которые парсим
re_dict = { #словарь
'Number of Managers': re.compile("(?P<field>Number of Managers) : (?P<value>[0-9]{1,3})"),#?
}#словарь закончился
result = {}
def print_report(result):#объявление функции
for k, l in result.items():#?
host, param = k#?
print 'Host: ' + host + ', Parameter: ' + param + ', Value: ' + ' '.join(l)#вывести на экран "Host "значение host" Parameter "значение param" и тд"
def main():# функция main
for host in hosts:#цикл
file = open(os.path.join(basedir, host), 'r')#создать файл. наверное в директории из которой запущен скрипт. открыть для чтения.
for line in file.readlines():#цикл и еще что?
for k, v in re_dict.items():#цикл и еще что?
s = v.search(line)#?
if s is not None:#если переменная s имеет значение
result.setdefault((host, k), []).append(s.groupdict().get('value'))#?
file.close()#закрыть файл
print_report(result)#выполнить функцию, с аргументом резалт
main()
Офлайн
0
Сначала все-таки разбираетесь с питоном.
После этого устанавливаете модуль pyyaml
easy_install pyyaml
>>> import yaml
>>> f = open(r'C:\test\config.txt', 'r')
>>> data = yaml.load(f, Loader=yaml.Loader)
>>> data['EV-DO Rev A PDSN Service']['In Use']
4
Отредактировано (Окт. 26, 2011 17:55:00)
Офлайн
0
VaderСпасибо за ответ.
Сначала все-таки разбираетесь с питоном.
После этого устанавливаете модуль pyyamlДальше делаете с вашим конфигом все что душе угодно.easy_install pyyaml>>> import yaml
>>> f = open(r'C:\test\config.txt', 'r')
>>> data = yaml.load(f, Loader=yaml.Loader)
>>> data['EV-DO Rev A PDSN Service']['In Use']
4
Офлайн