0

Solarisサーバーにpython2.7をインストールし、argparseコマンドラインオプションを取得するためにを使用してPythonスクリプトを作成しています。

サブパーサーを使い始めるまで、すべてがうまく機能しました。スクリプトは失敗し、次のエラーが発生します。

AttributeError: 'ArgumentParser' object has no attribute 'add_subpasers'

スクリプトの短いコピーは次のとおりです。

def main():
    parser = argparse.ArgumentParser(prog="myProg") 
    subparsers = parser.add_subpasers (title="actions", description="list of available actions", help="additional help")


    parser.add_argument("-v", "--verbose",              \
                        action="store_const",           \
                        dest="VERBOSE",                 \
                        default=False,                  \
                        const=True,                     \
                        help="runs in verbose mode")

    parser.add_argument("-V", "--version",                      \
                        action="version",                       \
                        version="myProg 0.1",                   \
                        help="prints the version number")

    parser.add_argument("-z",                                               \
                        type = file,                                        \
                        required = True,                                    \
                        dest = "CONF_FILE",                                 \
                        help = "defines the configuration file")


    parser.add_argument("-f",                                               \
                        type = file,                                        \
                        required = True,                                    \
                        dest = "ENV_FILE",                                  \
                        help = "defines the env definition file")

    parser.add_argument("-e",                                                       \
                        dest = "target_env",                                        \
                        default = None,                                             \
                        help = "limits actions to a specific service. (Optional)")



    parser_launch = subparsers.add_parser ("launch", help = "launches the environment")
    parser_create = subparsers.add_parser ("create", help = "creates the environment")
    parser_create.add_argument ("-p", type = int, help = "passes the necessary parameters for creation")

    pymss_namespace = parser.parse_args()

なぜですか?どうもありがとうございます。

4

2 に答える 2

2

2行目:parser.add_subpasers代わりに書いたparser.add_subparsers...

于 2011-09-20T09:33:18.377 に答える
1

はい、タイプミスがあります。スクリプトの3行目にはありadd_subparsersません。add_subpasers

于 2011-09-20T09:33:15.603 に答える