特定のコマンド ライン オプションの存在を確認し、それらを含むオブジェクトを返す共通関数を作成しています。これまでのところ、optparse
(私は Python 2.6.2 の使用に限定されています) を使用すると、次のようになります。
def getConfig( usage, needInputFile=False, needPhase=False ):
parser = OptionParser( usage=usage )
if ( needInputFile ):
parser.add_option("-f", "--file", dest = "filename",
help = "Read report from FILE", metavar="FILE")
if ( needPhase ):
parser.add_option("-p", "--phase", dest = "phase",
help = "Processing phase")
( options, args ) = parser.parse_args()
if ( needInputFile and options.filename == None ):
parser.error("Filename must be provided.")
if ( needPhase and options.phase == None ):
parser.error("Phase must be provided.")
return options
これは問題なく動作しますが、これを使用するいくつかの異なるスクリプトで利用できるように、同じメカニズムを介してプログラム名と特定の環境変数を提供したいと考えています。
私の本能は、optparse オプションを辞書にコピーし、プログラム名と追加の環境を追加することです。戻る前に辞書に var 情報を追加します。
人々がこのアプローチについてどう思うか知りたいです。より良い/より受け入れられる方法はありますか?