2012-06-23 109 views
3

我需要去工作是這樣的:argparse可選依賴於可選參數

./foo.py [-b option [-a]] 

與argparse。我想過使用sub_parsers,但我不知道如何使它工作。

+0

就argparse邏輯來說,似乎有一個開放式票據確切的功能:http://bugs.python.org/issue11588 – jdi

回答

2

直接的方法是簡單地在代碼中添加規則,如果-a在那裏而不在b(並在用戶幫助中記錄它),那麼您的選項會拋出錯誤。您還可以使用usage關鍵字覆蓋使用字符串:http://docs.python.org/dev/library/argparse.html#usage

sub_parsers很好,但我認爲它們不符合您的需求。他們的用例更像是在一個單獨的可執行文件中放置了很多功能(例如svn add,svn ci,svn co等)

+0

我同意。雖然我確信您可以使用argparse的更高級功能,但是像您說的檢查值一樣,這非常簡單。 – jdi