HTTP_PROXY жана http_proxy менен ConfigParser DuplicateOptionError
Linux чөйрөсүндө HTTP_PROXY жана http_proxy катар жашай алганын, бирок ConfigParserдин демейки маанилери катары колдонгондо DuplicateOptionError пайда болушун түшүнүңүз.
Регистрди айырмалаган чөйрөдө HTTP_PROXY жана http_proxy башка аттар болушу мүмкүн. ConfigParser адатта опция аттарын кичине тамгага айландырат, ошондуктан экөөнү тең демейки маанилерге берүү аларды бир кайталанган опцияга айландырышы мүмкүн.
Ошондуктан <dict> деп аталган ката проксиге туташуу аракетинин алдында эле ConfigParser(defaults=os.environ) ичинен келип чыгышы мүмкүн.
Эгер колдонмого бул талдоочто атайын регистрге сезимтал чөйрө аттары керек болсо, аларды жүктөөдөн мурун нормалдаштыруу саясатын белгилеңиз:
import configparser
import os
settings = configparser.ConfigParser(interpolation=None)
settings.optionxform = str
settings.read_dict({'DEFAULT': dict(os.environ)})Ошентип эки жазуу өз-өзүнчө бөлүнүп калат. Издөөлөр жана кийин окулган ар кандай конфигурация да ушул саясатты карманат. Интерполяцияны өчүрүү чөйрө маанилериндеги пайыз белгилеринин интерполяция синтаксиси катары каралышына да жол бербейт.
Эгер колдонмого регистрге көз каранды эмес конфигурация керек болсо, керектүү чөйрө киргизүүлөрүн ачык тандап, талдоочко берүүдөн мурун карама-каршы жазууларды ошол кардардын прокси эрежелери боюнча чечиңиз.
strict=False өзгөртүү кайталоолорду кабыл алат, бирок колдонмо кайсы карама-каршы прокси маанисин колдонушу керектигин аныктабайт. Талдоочту өзүңүз көзөмөлдөбөсөңүз, кокустан пайда болгон чөйрө жазуусун алып салуу орундуу болушу мүмкүн; адегенде төмөнкү кардарга кайсы маани керек экенин аныктаңыз.