我正在写俄语评论,所以我使用utf-8 config.ini:
; Файл конфигурации
; Название секции писать в квадратных скобках,
; например [Example]
; Параметры писать в виде param_name = value
[default]
; Имя выходного html файла
out_file = cities.html
; Заголовок сгенерированной html страницы
file_title = cities
[filterparams]
; Параметры для фильтрации всех постов
; Значения по-умолчанию
; Минимальный индекс климата
climate_index = 60.0
; Минимальная температура(В градусах по Цельсию)
temp_min = 15
; Максимальная температура(В градусах по Цельсию)
temp_max = 24
; По уровню жизни город в ТОП-...
amount = 50
config_loader.py(阅读配置+“配置”功能从一个部分创建一个字典):
try:
assert os.path.exists('E:\pythoncodes\config.ini')
except:
print('Нет файла конфигурации config.ini')
exit(1)
try:
config = configparser.ConfigParser()
config.read('config.ini', encoding="utf-8")
except configparser.MissingSectionHeaderError:
print('Ошибка в названии секции в файле config.ini')
exit(1)
except configparser.ParsingError:
print("Ошибка в парсинге конфигурационного файла")
exit(1)
def configuration(section):
cfg = dict(config[section])
return cfg
这是通常的函数调用:
cfg = configuration("filterparams")
在PyCharm中它运行良好,但是当我在cmd中打开它时会出现KeyError。这是我得到的错误:
Traceback (most recent call last):
File "E:\pythoncodes\main.py", line 3, in <module>
from reading import read
File "E:\pythoncodes\reading.py", line 4, in <module>
from parsing import json_parsing
File "E:\pythoncodes\parsing.py", line 20, in <module>
cfg = configuration("filterparams")
File "E:\pythoncodes\config_loader.py", line 23, in configuration
cfg = dict(config[section])
File "E:\python\lib\configparser.py", line 959, in __getitem__
raise KeyError(key)
KeyError: 'filterparams'
我做错了什么?