Rodegast
Июнь 1, 2008 23:07:30
Кок в конфигурационный файл обрабатываемый ConfigParser-м впихнуть не латинские символы(нужно для записи путей файлов) или может есть адекватная замена этому модулю?
bialix
Июнь 2, 2008 09:37:01
ConfigObj
Rodegast
Июнь 2, 2008 23:26:08
ConfigObj спасибо попробую.
hellt
Июнь 3, 2008 13:30:42
можно ли приучить ConfigObj понимать ; как символ начала комментария?
playpauseandstop
Июнь 3, 2008 13:51:24
Кок в конфигурационный файл обрабатываемый ConfigParser-м впихнуть не латинские символы(нужно для записи путей файлов) или может есть адекватная замена этому модулю?
так ради лулзов решил проверить правда ли ConfigParser не понимает не латинские символы, вот что вышло:
In [3]: # -*- coding: utf-8 -*-
In [4]: ini = """[section]
url = 'adsada'
uri = 'ыфвфыв'"""
In [5]: f = open('/tmp/sample_ini', 'w')
In [6]: f.write(ini.strip())
In [7]: f.close()
In [8]: f = open('/tmp/sample_ini', 'r')
In [9]: print f.read()
[section]
url = 'adsada'
uri = 'ыфвфыв'
In [10]: from ConfigParser import ConfigParser
In [11]: c = ConfigParser()
In [12]: c.read('/tmp/sample_ini')
Out[12]: ['/tmp/sample_ini']
In [13]: print c.get('section', 'uri')
'ыфвфыв'
Rodegast
Июнь 4, 2008 21:17:08
>так ради лулзов решил проверить правда ли ConfigParser не понимает не латинские символы, вот что вышло:
Читать он их вполне может, а вот записывать….
playpauseandstop
Июнь 4, 2008 22:13:32
In [1]: # -*- coding: utf-8 -*-
In [2]: from ConfigParser import ConfigParser
In [3]: c = ConfigParser()
In [4]: c.add_section('sample')
In [5]: c.set('sample', 'url', 'dasdasdasd')
In [6]: c.set('sample', 'uri', 'ыфвфвыфвфыв')
In [7]: c.items('sample')
Out[7]:
[('url', 'dasdasdasd'),
('uri',
'\xd1\x8b\xd1\x84\xd0\xb2\xd1\x84\xd0\xb2\xd1\x8b\xd1\x84\xd0\xb2\xd1\x84\xd1\x8b\xd0\xb2')]
In [8]: c.write(open('/tmp/sample_ini', 'wu'))
In [9]: print open('/tmp/sample_ini', 'r').read()
[sample]
url = dasdasdasd
uri = ыфвфвыфвфыв
что я делаю нетак?
bialix
Июнь 5, 2008 14:40:59
ребята, вопрос был про юникод. ни в одном приведенном примере юникодных строк я не вижу. изучайте материальную часть.