DEBUG = eval(ctx.get(CONFIGSECTION, 'DEBUG'))

# MDM Revert before prod!
# DEBUG=True

TEMPLATE_DEBUG = DEBUG

REDIS_SERVER = ctx.get(CONFIGSECTION, 'REDIS_SERVER')
REDIS_DB = ctx.get(CONFIGSECTION, 'REDIS_DB')

Saya mendapatkan kesalahan di bawah ini

raise NoOptionError(option, section)
configparser.NoOptionError: No option 'debug' in section: 'DEFAULT'
2
error2007s 17 April 2020, 18:16

1 menjawab

Jawaban Terbaik

Silakan turunkan kelas pengurai konfigurasi baru dari RawConfigParser, tambahkan hanya perilaku khusus baru, seperti: Silakan baca dokumen ini: https://docs.python.org/3/library/configparser.html

from ConfigParser import RawConfigParser, NoOptionError
from StringIO import StringIO
from collections import defaultdict

class MyConfigParser(RawConfigParser):
    def get(self, section, option):
        try:
            return RawConfigParser.get(self, section, option)
        except NoOptionError:
            return None

settings=StringIO('''
[Set]
ip=192.0.2.76
verify=yes
[Set2]
ip=192.0.2.74
''')

cfg=MyConfigParser(allow_no_value=True)
cfg.readfp(settings)

assert cfg.get('Set', 'verify') ==  'yes'
assert cfg.get('Set2', 'verify') == None
1
Mahsa Hassankashi 17 April 2020, 15:43