Найти - Пользователи
Полная версия: configparser не видит секции под Linux.
Начало » Python для новичков » configparser не видит секции под Linux.
1
plusplus
Собственно, сабж. С помощью ConfigParser создаю конфиг-файл из хелпа, затем читаю этот файл, делаю print config.sections() - пусто. Почему так может быть? Под виндой этот же код нормально работает.
Андрей Светлов
Отлично задан вопрос! На него можно ответить только “а у меня всё работает”.
plusplus
Гм, проверил на FreeBSD и правда “а у меня всё работает”. А в чем может быть причина, кто-нибудь может предположить? Не видит он секции вообще.
Rodegast
Проверь права у файла и напиши какой код у тебя не работает.
plusplus
/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
[]
Андрей Светлов
Поправьте config.read(“/home/abc/soulgen/exmaple.cfg”) на правильное имя файла - будет счастье.
plusplus
Файл не читался, потому что я использовал пути вида “\\folder\\config.cfg”, вместо “/folder/config.cfg”. Я решил проверить, создаю файлы test.py и example.cfg, но делаю ошибку “exmaple.cfg”. И отсюда соответственно делаю вывод, что простейший пример из документации не работает - значит что-то с Линуксом. Спасибо большое, что помогли с глупым вопросом. =)
evilempirer
Я не понял он чего эксепшн не высыпает когда пытаешь прочитать несуществующий конфиг ?
Андрей Светлов
Да, такой вот кривой configparser. Исключение не бросает, и это - ни разу не хорошо.
Но жить и работать с такой особенностью - можно.
Eliont
   
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
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