2009-08-04 8 views
5

मैं c के लिए एक अच्छी कॉन्फ़िगरेशन फ़ाइल लाइब्रेरी की तलाश में हूं जो xml नहीं है। सबसे अच्छा मैं वास्तव में एक ऐसे व्यक्ति को पसंद करूंगा जिसमें पाइथन बाइंडिंग भी हो। सी और पायथन दोनों में जेएसओएन लाइब्रेरी का उपयोग करना सबसे अच्छा विकल्प है। आप क्या सलाह देंगे, या आप कॉन्फ़िगरेशन सेटिंग्स को पढ़ने/लिखने की क्या विधि पसंद करते हैं?सी के लिए एक अच्छी कॉन्फ़िगरेशन फ़ाइल लाइब्रेरी क्या है जो xml नहीं है (अधिमानतः पाइथन बाइंडिंग है)?

+3

JSON के साथ क्या गलत है? यदि आप इसे YAML तक बढ़ाते हैं, तो इसे पढ़ने में और भी आसान हो सकता है। आप क्या समस्याएं देख रहे हैं? –

+0

JSON के साथ कुछ भी गलत नहीं है, मैं अधिकांश चीज़ों के लिए JSON पसंद करता हूं। मेरा एकमात्र हिचकिचाहट इसका सख्त वाक्यविन्यास था। मैं चाहता हूं कि कॉन्फ़िगरेशन फ़ाइल को गैर-प्रोग्रामर द्वारा आसानी से पढ़ा/संपादित किया जाए, अधिक सफेद जगह पर धराशायी (उसमें उल्लेख किया जाना चाहिए)। YAML बिल्कुल यही करता है! यही वही है जो मैं चाहता हूं, धन्यवाद! – user19745

उत्तर

0

आप ConfigObj जैसे शुद्ध पायथन समाधान का उपयोग कर सकते हैं और फिर सेटिंग्स के लिए क्वेरी करने के लिए बस सीपीथॉन एपीआई का उपयोग कर सकते हैं। यह मानता है कि आपका एप्लिकेशन पायथन को एम्बेड करता है। यदि ऐसा नहीं होता है, और यदि आप किसी भी तरह से पायथन शिपिंग कर रहे हैं, तो इसे केवल एम्बेड करने के लिए समझदारी हो सकती है। यदि आपका गतिशील लिंक है तो आपका सी .exe इतना बड़ा नहीं होगा, और आपके पास पाइथन की सभी लचीलापन आपके निपटारे में होगी।

0

तकनीकी द्वारा नफरत और माइक्रोसॉफ्ट द्वारा अस्वीकार होने के बावजूद, आईएनआई फाइलें वास्तव में उपयोगकर्ताओं के साथ काफी लोकप्रिय हैं, क्योंकि उन्हें समझना और संपादित करना आसान है। वे पार्सर्स लिखने के लिए भी बहुत आसान हैं, क्या आपके पुस्तकालय पहले से ही उनका समर्थन नहीं कर सकते हैं।

+1

-1: आईएनआई फाइलों में अजीब सीमाएं हैं जो वास्तव में सरल मामलों को छोड़कर काम करने में कठोर बनाती हैं। उन साधारण मामलों के लिए, असाइनमेंट स्टेटमेंट से भरा एक पायथन फ़ाइल बेहतर हो सकती है। –

+0

वैसे वे उदाहरण के लिए PHP और सांबा के लिए ठीक काम करना प्रतीत होता था। और उन अजीब सीमाएं क्या हैं? –

+0

एक आईएनआई की संरचना (जैसा कि configfile द्वारा पार्स किया गया है) फ्लैट है। कोई संरचना नहीं इसलिए अनुभागों में संरचना लागू करने के लिए समग्र नाम हैं। लॉगिंग प्रारंभिक फ़ाइल, उदाहरण के लिए, सही ढंग से संपादित करना मुश्किल है क्योंकि सेक्शन नाम अन्य आईएनआई सेटिंग्स पर निर्भर करते हैं। –

1

आप अजगर से शादी नहीं कर रहे हैं, Lua प्रयास करें। यह मूल रूप से विन्यास के लिए बनाया गया था।

संबंधित मुद्दे

 संबंधित मुद्दे