Найти - Пользователи
Полная версия: Юникод в ConfigParser
Начало » Python для экспертов » Юникод в ConfigParser
1
Rodegast
Кок в конфигурационный файл обрабатываемый ConfigParser-м впихнуть не латинские символы(нужно для записи путей файлов) или может есть адекватная замена этому модулю?
bialix
ConfigObj
Rodegast
ConfigObj спасибо попробую.
hellt
можно ли приучить ConfigObj понимать ; как символ начала комментария?
playpauseandstop
Кок в конфигурационный файл обрабатываемый 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
>так ради лулзов решил проверить правда ли ConfigParser не понимает не латинские символы, вот что вышло:

Читать он их вполне может, а вот записывать….
playpauseandstop
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
ребята, вопрос был про юникод. ни в одном приведенном примере юникодных строк я не вижу. изучайте материальную часть.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB