PreApplicationStartMethod - это атрибут сборки для загрузки кода на очень ранней стадии процесса сборки. Компилятор должен загрузить и запустить этот код, чтобы начать процесс компиляции. PreApplicationStartMethod похож на процесс построения, а не на процесс инициализации. Так что вы можете попробовать поместить свой код в метод Application_Start в global.asax !!
Используйте readfp вместо read:
with open('connections.cfg') as fp:
config = ConfigParser()
config.readfp(fp)
sections = config.sections()
Разница между ConfigParser
и RawConfigParser
заключается в том, что ConfigParser
попытается «волшебным образом» расширить ссылки на другие переменные конфигурации, примерно так:
x = 9000 %(y)s
y = spoons
В этом случае x
будет 9000 ложек
, а y
будет просто ложками
. Если вам нужна эта функция расширения, в документации рекомендуется вместо этого использовать SafeConfigParser
. Я не знаю, в чем разница между ними. Если вам не нужно расширение (а возможно, и не нужно), просто понадобится RawConfigParser
.
Чтобы проверить свои подозрения, используйте ConfigParser.readfp () и самостоятельно открывайте и закрывайте файл. После внесения изменений вызовите readfp
.
config = ConfigParser()
#...on each change
fp = open('connections.cfg')
config.readfp(fp)
fp.close()
sections = config.sections()