import ConfigParser
config = ConfigParser.ConfigParser()
config.read('test.ini')
これは、Pythonで構成ファイルを読み取る方法です。しかし、「test.ini」が存在しない場合はどうなりますか?このメソッドが例外をスローしないのはなぜですか?
ファイルが存在しない場合、どうすれば例外をスローさせることができますか?
docs から:
指定されたファイルが存在しない場合、
ConfigParser
インスタンスには空のデータセットが含まれます。
いずれかのファイルが見つからない場合にエラーを発生させたい場合は、次のことを試すことができます。
files = ['test1.ini', 'test2.ini']
dataset = config.read(files)
if len(dataset) != len(files):
raise ValueError, "Failed to open/find all files"
明示的にファイルとして開くこともできます。
try:
with open('test.ini') as f:
config.readfp(f)
except IOError:
raise MyError()
編集:不足している 'を追加しました