2016-01-28 2 views
0

Я создал файл settings.ini и пытаюсь разобраться в Parser конфигурации Kivy. Мне нужно приложить все свои «get» заявления в str() для большей части работы, поэтому я задаюсь вопросом, не понимаю ли я что-то фундаментальное. Кроме того, я не могу булевы правильно сообщить, так:Булевы и т. Д. С Kivy ConfigParser

settings.ini

[settings] 
option_enabled = False 

test.py

from kivy.config import ConfigParser 
config = ConfigParser() 
config.read('settings.ini') 

print(config.get('settings', 'option_enabled')) 

возвращает 'False'

if config.get('settings', 'option_enabled'): 
    print "true" 

возвращает 'true'

Может ли кто-нибудь сказать мне, где я ошибаюсь?

ответ

0

[редактировать, а ОП изменил вопрос, исправляя опечатку]

Я не знаком с kivy, и не могу проверить, но вот мой взгляд на него:

Я считаю, что config.get('settings', 'option_enabled') возвращает строковое значение, поэтому, когда вы заключаете это с print() заявления, он будет печатать значение строки 'False'

при использовании же в if заявления, значение строки в if заявления вернет 'True' активизирует print "True"

Вы можете попробовать это и сообщить мне, что это ответ?

+0

К сожалению, нет, что была опечатка в моем примере, исправленный теперь ... – user4893295

+0

ах Теперь :-) ... был правильный ответ, основанный на вашей опечатке :-) –

+0

@ user4893295 ... Я пересмотрел свой ответ –

0

Как "Эдвин ван Мирло" ответил, что вы получаете строку из config.get ...

Мое предложение заключается в использовании config.getint

ини файл

[settings] 
option_enabled = 0 

код:

if config.getint('settings', 'option_enabled'): #notice the getint instead of get 
    print "true"