आप इसे कोड की एक पंक्ति में कर सकते हैं।
अजगर 3 में, अपने कॉन्फिग फाइल डेटा में एक फर्जी सेक्शन हेडर को प्रीपेन्ड करें और इसे पास करें read_string()
।
from configparser import ConfigParser
parser = ConfigParser()
with open("foo.conf") as stream:
parser.read_string("[top]\n" + stream.read())
आप itertools.chain()
किसी अनुभाग हेडर के लिए अनुकरण करने के लिए भी उपयोग कर सकते हैं read_file()
। यह उपरोक्त दृष्टिकोण की तुलना में अधिक मेमोरी-कुशल हो सकता है, जो कि अगर आपको एक बाधा रनटाइम वातावरण में बड़ी कॉन्फिग फाइल करने में मददगार हो सकता है।
from configparser import ConfigParser
from itertools import chain
parser = ConfigParser()
with open("foo.conf") as lines:
lines = chain(("[top]",), lines)
parser.read_file(lines)
अजगर 2 में, अपने कॉन्फिग फ़ाइल डेटा में एक फर्जी सेक्शन हेडर प्रीपेन्ड करें, एक StringIO
ऑब्जेक्ट में रिजल्ट को रैप करें और इसे पास करें readfp()
।
from ConfigParser import ConfigParser
from StringIO import StringIO
parser = ConfigParser()
with open("foo.conf") as stream:
stream = StringIO("[top]\n" + stream.read())
parser.readfp(stream)
इनमें से किसी भी एप्रोच के साथ, आपकी कॉन्फिगरेशन सेटिंग उपलब्ध होगी parser.items('top')
।
आप स्ट्रिंग 3 का उपयोग अजगर 3 में भी कर सकते हैं, शायद पुराने और नए दोनों अजगर व्याख्याकारों के साथ संगतता के लिए, लेकिन ध्यान दें कि यह अब io
पैकेज में रहता है और readfp()
अब पदावनत हो गया है।
वैकल्पिक रूप से, आप विन्यासकर्ता के बजाय TOML पार्सर का उपयोग करने पर विचार कर सकते हैं ।