Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13750
|
Из: Москва
|
Рейтинг: 3476
|
|
как в питоне ненапряжно считать name=value из файла
17.05.2010 01:26
|
|
|
че-то у меня в полвторого глаз замылился и в голову лезут всякие ConfigParser-ы. есть файл в котором что-то в духе:
code:
name=value
othername=other value
ook=oak
annot=some other long text
как это попроще прочитать? ну, с разбором ессно, чтобы по имени можно было доступ иметь
|
|
Klevzoff
|
member
|
|
|
|
Рег.: 13.06.2006
|
Сообщений: 151
|
|
Рейтинг: 151
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Basilio]
17.05.2010 04:05
|
|
|
ну если все так ажурно, как в твоем примере, то наверное
config = {}
for line in open('smth.conf'):
a = line.split('=', 1)
config[a[0]] = a[1]
подойдет?
|
|
Kai
|
|
|
|
|
Рег.: 25.10.2002
|
Сообщений: 8251
|
|
Рейтинг: 818
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Klevzoff]
17.05.2010 04:35
|
|
|
Забыл \n в конце строк порезать.
code: config = dict([s.rstrip().split('=', 1) for s in open('smth.conf')])
|
|
Vital303
|
tired
|
|
|
|
Рег.: 18.10.2004
|
Сообщений: 480
|
|
Рейтинг: 44
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Basilio]
17.05.2010 12:52
|
|
|
In Antwort auf:
ну, с разбором ессно, чтобы по имени можно было доступ иметь
Если ты свободен в выборе формата, можно сделать конфигурацию кодом на питоне. Для безопасности --- выполнить его в защищенном окружении http://docs.python.org/library/restricted.html
|
|
__No__
|
|
|
|
|
Рег.: 17.01.2005
|
Сообщений: 21062
|
Из: Внутренняя Монголия
|
Рейтинг: 6310
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Vital303]
17.05.2010 12:59
|
|
|
|
Vital303
|
tired
|
|
|
|
Рег.: 18.10.2004
|
Сообщений: 480
|
|
Рейтинг: 44
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: __No__]
17.05.2010 13:35
|
|
|
Ну как,
code:
import os
execfile(os.path.expanduser('~/.myprog/config.py'))
и любой сложности объекты из файла в пространстве имен 
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13750
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Vital303]
17.05.2010 14:58
|
|
|
т.е. переделать на
code:
name="value"
? занятно.. надо подумать
|
|
__No__
|
|
|
|
|
Рег.: 17.01.2005
|
Сообщений: 21062
|
Из: Внутренняя Монголия
|
Рейтинг: 6310
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: Vital303]
17.05.2010 15:03
|
|
|
Quote:
и любой сложности объекты из файла в пространстве имен 
Где тут что restricted?
И чего бы тогда не делать просто "import config"?
execfile: Quote:
This function is similar to the exec statement, but parses a file instead of a string. It is different from the import statement in that it does not use the module administration - it reads the file unconditionally and does not create a new module.
|
Dixi. |
|
Vital303
|
tired
|
|
|
|
Рег.: 18.10.2004
|
Сообщений: 480
|
|
Рейтинг: 44
|
|
Re: как в питоне ненапряжно считать name=value из файла
[re: __No__]
17.05.2010 15:56
|
|
|
In Antwort auf:
Где тут что restricted? И чего бы тогда не делать просто "import config"?
Нет restricted, можно прикрутить (хотя, я сейчас вижу, что не так просто как я думал). In Antwort auf:
Deprecated since version 2.6: The rexec module has been removed in Python 3.0.
Можно сделать import.
|
|