2012-01-27 12 views
15

私は非常にユーザーフレンドリーな私のpythonスクリプトを作ろうとしているので、私はそれのための助けを書くのが好きです。あなたのアドバイスは何ですか?私は、ユーザーがスクリプトのパラメタとしてヘルプを渡せば、彼らは助けを得るということをいくつかの論理に置くことができます。これにはベストプラクティスまたはコンベンションがありますか?Pythonスクリプトのヘルプを書く

答えて

26

argparseを使用してください。 test.pyと例えば

、:

import argparse 

parser=argparse.ArgumentParser(
    description='''My Description. And what a lovely description it is. ''', 
    epilog="""All's well that ends well.""") 
parser.add_argument('--foo', type=int, default=42, help='FOO!') 
parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!') 
args=parser.parse_args() 

% test.py -h 

利回り

usage: test.py [-h] [--foo FOO] [bar [bar ...]] 

My Description. And what a lovely description it is. 

positional arguments: 
    bar   BAR! 

optional arguments: 
    -h, --help show this help message and exit 
    --foo FOO FOO! 

All's well that ends well. 
6

ベストプラクティスを実行するには、すべてのコマンドライン引数を処理するためにargparseを使用することです。これにはデフォルトの--helpが含まれており、好きなようにカスタマイズすることができます。

import argparse 

parser = argparse.ArgumentParser(description='This is my help') 

args = parser.parse_args() 

になり:あなたはargparseで、すべての引数を定義し、それらのそれぞれのためのヘルプメッセージを設定することができます

% python argparse_test.py -h 
usage: argparse_test.py [-h] 

This is my help 

optional arguments: 
    -h, --help show this help message and exit 

ここ

は、最も単純な例です。結果のフィルタリング/検証された引数はparser.parse_args()によって返されます。

関連する問題