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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функция в питоне 
:(
    Опции темы
scion
Дата 13.4.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



привет всем!
нужно написать фукцию которая находит нужный параметр...

на баще:

function aaa {
    bbbb=`cat "$config.txt" | grep "^$1=" | sed -e "s/^$1=//"`;
    if [ -z "$bbbb" ]; then
        echo "parameter \"$1\" is empty" >&2
    fi
    echo "$bbbb"
}
в файле конфиг txt инфа вида
name=parametr
...
..

на питоне я из файла всё считал:

file = open(original_config)
contents = file.read()
file.close()

соотв. у меня всё в переменной contents. как мне  достать значение переменной и вернуть его. ?!
спс.

Это сообщение отредактировал(а) scion - 13.4.2010, 14:59
PM MAIL   Вверх
shupg
Дата 13.4.2010, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

Код

import string

file = open(original_config)

data = {}
for line in file.readlines():
    k, v = string.split(string.strip(line, '\n'), '=')
    data[k] = v
print data

file.close()


Еще можно воспользоваться функциональностью ini файлов:
Код

import ConfigParser

PM MAIL   Вверх
scion
Дата 13.4.2010, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



спс. но так не получиться.

как сделать что бы name брался из переменной?
пишу Str = Str.replace("%s", '') %name не работает...
а   Str = Str.replace("текст", '')  - работает?

и второй вопрос, 
как сделать что бы в эту фукнкцию передавалась переменная с именем проперти а возвращалась её значение... сейчас мене возвращается не только её значение но и остальные проперти. а я хочу что бы аозвращалась только та которая требуется... smile)

Код

def params(a):
    print a
    Str = contents
    Str = Str.replace("name", '')
    return Str

PM MAIL   Вверх
pythonwin
Дата 13.4.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(scion @  13.4.2010,  21:58 Найти цитируемый пост)

и второй вопрос, 
как сделать что бы в эту фукнкцию передавалась переменная с именем проперти а возвращалась её значение... сейчас мене возвращается не только её значение но и остальные проперти. а я хочу что бы аозвращалась только та которая требуется... smile)

Модератор: Пожалуйста, один топик - один вопрос.
PM WWW GTalk Jabber   Вверх
shupg
Дата 14.4.2010, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(shupg @ 13.4.2010,  17:41)
Код

import string

file = open(original_config)

data = {}
for line in file.readlines():
    k, v = string.split(string.strip(line, '\n'), '=')
    data[k] = v
print data

file.close()

После заполнения переменной data всем, что есть в файле делаем так:
Код

a = data[parameter_name]


И да простит меня модератор
Код

name1 = 'Vladimir'
name2 = 'Vitaliy'
result = '0.5 vodka'
msg = "%s + %s = %s" % (name1, name2, result)
print msg

PM MAIL   Вверх
pythonwin
Дата 14.4.2010, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(shupg @  14.4.2010,  13:58 Найти цитируемый пост)
И да простит меня модератор

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


 




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


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

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