2012-11-28 13 views
4

我使用​​的優秀子分析器系統來創建一個接受許多不同命令的命令行程序。從我讀到的內容來看,​​在明確時自動接受參數的單字符縮寫。我想讓它爲子分析器做同樣的事情。如果設置我subparsers這樣的:讓Python的argparse接受subparsers的單字符縮寫嗎?

foo_parser = subparsers.add_parser('foo') 
    # ... set up arguments and handler ... 

    bar_parser = subparsers.add_parser('bar') 
    # ... set up arguments and handler ... 

然後我想解析器接受myprogram f arg0myprogram foo arg0一個明確的縮寫。但事實並非如此。

任何想法?

回答

7

從argparse文檔目前尚不清楚,它支持子分析器這種自動的縮寫,但你可以明確地設置別名,像這樣:

foo_parser = subparsers.add_parser('foo', aliases=['f']) 

在另一方面,參數縮寫爲supported

+5

這是我所需要的,不幸的是它只支持Python 3。 – japreiss

相關問題