次のような作業に取り掛かる必要があります。
./foo.py [-b option [-a]]
argparse を使用します。sub_parsers を使用することを考えましたが、それを機能させる方法がわかりません。
簡単な方法は、-a が存在し、b が存在しない場合にエラーをスローするオプションを取得するルールをコードに追加することです (ユーザー ヘルプで文書化します)。usage
キーワードを使用して使用法文字列をオーバーライドすることもできます: http://docs.python.org/dev/library/argparse.html#usage
sub_parsers は素晴らしいですが、ニーズに合わないと思います。それらのユースケースは、単一の実行可能ファイルに多くの機能を配置するようなものです (svn add、svn ci、svn co などを考えてください)。