ConfigParser DuplicateOptionError ከ HTTP_PROXY እና http_proxy ጋር
HTTP_PROXY እና http_proxy በLinux አካባቢ አንድ ላይ ሊኖሩ የሚችሉት ለምን እንደሆነ፣ ነገር ግን እንደ 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 መቀየር ተደጋጋሚዎችን ይቀበላል፣ ነገር ግን መተግበሪያው የትኛውን የሚቃረን የፕሮክሲ እሴት መጠቀም እንዳለበት አይወስንም። ተንታኙን ካልተቆጣጠሩ አንድ ድንገተኛ የአካባቢ አጻጻፍ ማስወገድ ተገቢ ሊሆን ይችላል፤ መጀመሪያ የታችኛው ደንበኛ የትኛውን እሴት እንደሚፈልግ ይወስኑ።