Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите парсер для конфиг-файла, чем можно распарсить данный конфиг 
:(
    Опции темы
frost84
Дата 29.8.2012, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 22.3.2008
Где: Minsk

Репутация: нет
Всего: нет



Всем привет,
Подскажите, есть ли уже готовые средства для парсинга содержимого конфиг-файл вот с такой струкутурой,
чтобы не писать парсер самому.

ui_translate.add(id="ui_dict_config_FC_Board_name",
                   lang="en",
                   cli_option="id",
                   cli_label="FC Board ID",
                   gui_label="FC Board ID",
                   translation=[])

ui_translate.add(id="ui_dict_config_FC_Board_type",
                   lang="en",
                   cli_option="type",
                   cli_label="Type",
                   gui_label="Name:Type",
                   translation=[("I0", "C12:INITIATOR"),
                ("I1", "C13:INITIATOR"),
                ("F1", "caX:FICON"),
                ("F2", "caX:FICON"),
                ("F3", "caX:FICON")])

ui_translate.add(id="ui_dict_config_FC_Board_mode",
                   lang="en",
                   cli_option="mode",
                   cli_label="Mode",
                   gui_label="Mode",
                   translation=[])

Спасибо)
PM MAIL   Вверх
Stolzen
Дата 30.8.2012, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Это код на питоне, вам нужно его просто выполнить (например, сделать import) 
Для этого, возможно, еще нужно будет создать объект ui_translate


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
frost84
Дата 30.8.2012, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 22.3.2008
Где: Minsk

Репутация: нет
Всего: нет



Цитата(Stolzen @ 30.8.2012,  08:56)
Это код на питоне, вам нужно его просто выполнить (например, сделать import) 
Для этого, возможно, еще нужно будет создать объект ui_translate

ну это не совсем код питона, но структура действительно похожа.
спасибо за наводку, это важное замечание smile

кстати создать объект нужно в скрипте в к-рый мы импортируем стр-ру данных?
нет, это работать не будет.
пример:
> cat m1.py
l.append('a')

> cat m2.py
l = []
from m1 import *

> python ./m2.py 
Traceback (most recent call last):
  File "./m2.py", line 2, in <module>
    from m1 import *
  File "/home/alexandr/m1.py", line 1, in <module>
    l.append('a')
NameError: name 'l' is not defined

создавать объект (или делать импорт объекта из другого модуля) нужно в файле где описана стр-ра данных, к-рую мы хотим импортировать
т.к. это конфиг, то всякие строчки типа
l = []
l = list()
from XXX import l
будут не в тему.
PM MAIL   Вверх
Stolzen
Дата 5.9.2012, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Попробуйте так

Код

class Config(object):
    def __init__(self):
        super(Config, self).__init__()

    def add(self, **kwargs):
        print kwargs

def read_config(filename, config):
    cfg = open(filename, 'r')

    try:
        # safe - only config object passed
        exec(cfg.read(), {"__builtins__" : None}, {"ui_translate" : config})
    finally:
        cfg.close()


read_config('config.py', Config())


config.py - путь к вашему файлу конфигурации


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
frost84
Дата 5.9.2012, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 22.3.2008
Где: Minsk

Репутация: нет
Всего: нет



Большое спасибо. Разобрался.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.