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

Python'da bir yapılandırma dosyası nasıl okunuyoruz. Ama 'test.ini' yoksa ne olur? Bu yöntem neden istisna alamıyor?python ConfigParser okuma dosyası mevcut değil

Dosya yoksa, istisnayı nasıl atabilirim? docs itibaren

cevap

10

:

adlı dosyaların hiçbiri yoksa

, ConfigParser örneği boş bir veri kümesi içerir.

dosyaların herhangi ardından deneyebileceğiniz bulunmazsa durumunda bir hata yükseltmek isterseniz:

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

Neden 'config.read (' 'Test.ini)' o 'config.read (dosya)' olmamalı eklendi? – user3817250

12

Ayrıca açıkça bir dosya olarak açılabilir.

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

DÜZENLEME: Eksik '

+2

Bu çalıştı. Bu arada: 'readfp()' artık kullanılmıyor (en azından Python 3'te). Şimdi 'read_file()' olarak adlandırılıyor. –