Մեծատառ ու փոքրատառ տարբերող միջավայրում 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-ի փոփոխումը ընդունում է կրկնություններ, բայց չի սահմանում, թե հակասող պրոքսիի որ արժեքը պետք է օգտագործի ծրագիրը։ Պատահական միջավայրի գրառում հեռացնելը կարող է տեղին լինել, երբ վերլուծիչը ձեր վերահսկողության տակ չէ. նախ որոշեք, թե որ արժեքն է պետք ներքևի կլիենտին։

Առնչվող հոդվածներ