2017-10-21 4 views
2

configparser.readを使用して存在しないファイルを読み込もうとすると、例外が発生するはずです。それはしません。代わりに空のリストを返します。明らかに、空リストをテストして例外を発生させることができます。 configparser.readがFileNotFound例外を発生させた場合、私はより直感的で安全に思えます。python 3存在しないファイルがある場合、configparser.read()は例外を発生しません。

[email protected]:~/nbmdt (blue-sky)*$ python3.6 
Python 3.6.2 (default, Oct 2 2017, 16:51:32) [GCC 7.2.1 20170915 (Red Hat 7.2.1-2)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import configparser 
>>> config=configparser.ConfigParser() 
>>> config.read("xyzzy.xyz") 
[] 
>>> config.read("nbmdt.ini") 
['nbmdt.ini'] 
>>> 

documentationが明らかになりますと、あなたはread方法にファイル名の任意の数を渡すことができ、それは静かに開くことができないものを無視するあなた

+0

ドキュメントには、これは、https://docs.python.org/2/library/configparser.html#ConfigParser.RawConfigParser.readの複数の場所で設定ファイルを探すことができるということが説明されています。何も見つからなければ彼らはおそらく例外を投げるかもしれないと思います。 – fdsa

答えて

1

ありがとうございます。

ファイルを開くために失敗した場合に例外を確認したい場合は、代わりにread_file方法を試してみてください。

config.read_file(open("xyzzy.xyz", "r")) 
0

あなたは正しいです、と私は間違っています。返されるリストの長さをテストする私のソリューションは悪い解決策ではなく、ファイルが存在しない異常値のケースを回避することができますが、私の質問はドキュメントを読むのがうまくいかないことを示唆しています。

関連する問題