2013-08-06 7 views
11
import ConfigParser 
config = ConfigParser.ConfigParser() 
config.read('test.ini') 

इस प्रकार हम पाइथन में कॉन्फ़िगरेशन फ़ाइल पढ़ते हैं। लेकिन क्या होगा यदि 'test.ini' मौजूद नहीं है? यह विधि अपवाद क्यों नहीं फेंकती है?पायथन कॉन्फ़िगरर्स पढ़ने वाली फ़ाइल मौजूद नहीं है

यदि फ़ाइल मौजूद नहीं है तो मैं इसे अपवाद कैसे फेंक सकता हूं?

उत्तर

10

docs से:

तो नामित फ़ाइलों में से कोई भी मौजूद हैं, ConfigParser उदाहरण एक खाली डाटासेट शामिल होंगे।

यदि आपको कोई त्रुटि के मामले में फ़ाइलों के किसी भी नहीं मिला है तो आप कोशिश कर सकते हैं बढ़ाने के लिए करना चाहते हैं:

files = ['test1.ini', 'test2.ini'] 
dataset = config.read(files) 
if len(dataset) != len(files): 
    raise ValueError, "Failed to open/find all files" 
+0

क्यों 'config.read (' test.ini ')' 'कि config.read (फ़ाइलें)' नहीं होना चाहिए? – user3817250

12

तुम भी स्पष्ट रूप से यह एक फ़ाइल के रूप में खोल सकते थे।

try: 
    with open('test.ini') as f: 
     config.readfp(f) 
except IOError: 
    raise MyError() 

संपादित करें: जोड़ा एक लापता '

+2

यह काम किया। वैसे: 'readfp()' अब अप्रचलित है (कम से कम पायथन 3 में)। इसे अब 'read_file() 'कहा जाता है। –

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