Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2010 11:36:25

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

Собственно, сабж. С помощью ConfigParser создаю конфиг-файл из хелпа, затем читаю этот файл, делаю print config.sections() - пусто. Почему так может быть? Под виндой этот же код нормально работает.



Офлайн

#2 Ноя. 25, 2010 12:15:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

configparser не видит секции под Linux.

Отлично задан вопрос! На него можно ответить только “а у меня всё работает”.



Офлайн

#3 Ноя. 25, 2010 12:24:52

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

Гм, проверил на FreeBSD и правда “а у меня всё работает”. А в чем может быть причина, кто-нибудь может предположить? Не видит он секции вообще.



Офлайн

#4 Ноя. 25, 2010 13:55:53

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2840
Репутация: +  186  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

Проверь права у файла и напиши какой код у тебя не работает.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Ноя. 26, 2010 16:37:50

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

/home/abc/soulgen/example.cfg

[Section]
bar = Python
/home/abc/soulgen/test.py
import ConfigParser

config = ConfigParser.RawConfigParser()
config.read("/home/abc/soulgen/exmaple.cfg")
print config.sections()

raw_input()
Результат скрипта:

bash-3.2$ /usr/bin/python26 ./test.py
[]



Офлайн

#6 Ноя. 26, 2010 18:45:25

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

configparser не видит секции под Linux.

Поправьте config.read(“/home/abc/soulgen/exmaple.cfg”) на правильное имя файла - будет счастье.



Офлайн

#7 Ноя. 26, 2010 19:17:40

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

Файл не читался, потому что я использовал пути вида “\\folder\\config.cfg”, вместо “/folder/config.cfg”. Я решил проверить, создаю файлы test.py и example.cfg, но делаю ошибку “exmaple.cfg”. И отсюда соответственно делаю вывод, что простейший пример из документации не работает - значит что-то с Линуксом. Спасибо большое, что помогли с глупым вопросом. =)



Офлайн

#8 Ноя. 28, 2010 12:18:42

evilempirer
От:
Зарегистрирован: 2010-06-07
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

Я не понял он чего эксепшн не высыпает когда пытаешь прочитать несуществующий конфиг ?



Офлайн

#9 Ноя. 28, 2010 18:26:13

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

configparser не видит секции под Linux.

Да, такой вот кривой configparser. Исключение не бросает, и это - ни разу не хорошо.
Но жить и работать с такой особенностью - можно.



Офлайн

#10 Ноя. 30, 2010 07:48:53

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

configparser не видит секции под Linux.

   
inifile = ConfigParser()
inifile.read(file) # Parse config file
File "C:\PROJECTS\backpack\OO_LABS\Config_Parser.py", line 194, in read
fp = open(filename)
IOError: [Errno 2] No such file or directory: 'items.ini'
И кстати говоря, у меня ещё было что ConfigParser не видел заголовков в файле с кодировкой UTF-8.
После модифйикации согласился и utf грузить и о несуществующем файле сообщать.

Под линуксом работает, проверено.
http://dl.dropbox.com/u/11931230/Temp/ConfigParser.py



Отредактировано (Ноя. 30, 2010 07:55:34)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version