PythonのConfigParserを使用して構成ファイルを作成しています。セクションに特定のオプションが定義されているかどうかを確認し、定義されている場合は値を取得します。オプションが定義されていない場合は、特別な動作なしで続行したいだけです。これを行うには2つの方法があるようです。
if config.has_option('Options', 'myoption'):
OPTION = config.get('Options', 'myoption')
または:
try:
OPTION = config.get('Options', 'myoption')
except ConfigParser.NoOptionError:
pass
ある方法が他の方法よりも優先されますか? if
の行数は少ないですが、多くの場合、try
/except
の方がPython的であると考えられていることをときどき読みました。
Try/exceptとif-conditionの間の選択は、あいまいな線です。
明らかに優れた選択肢はありませんが、(2)のケースがあるように思えるので、if/thenを選択します。これは、「許可より許しを求めることが容易」の側面と構造の相対的な効率性を完全に無視します。