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 மாற்றுவது நகல்களை ஏற்கிறது, ஆனால் பயன்பாடு எந்த முரணான ப்ராக்ஸி மதிப்பைப் பயன்படுத்த வேண்டும் என்பதை வரையறுக்கவில்லை. பாகுபடுத்தியை நீங்கள் கட்டுப்படுத்தாதபோது தற்செயலான சூழல் எழுத்துப்பிழையை நீக்குவது பொருத்தமாக இருக்கலாம்; முதலில் கீழ்நிலை வாடிக்கையாளருக்கு எந்த மதிப்பு தேவை என்பதைத் தீர்மானிக்கவும்.