6

我使用optparse.OptionParser來管理一些腳本的參數,而我想知道的/想要做的事情是有布爾標誌(即action=store_true),也可以接受參數。Python選項解析器:布爾標誌與可選參數

爲了說明上下文,我有一個應用程序可以使用它在機器上找到的儘可能多的GPU /處理器。出於各種原因,有時你想限制其使用的設備數量,並代替進一步弄亂命令行,我希望能夠:

script -c -g 

意味着所有使用您可以將所有的CPU和gpus,以及

script -c 2 -g 3 

意思是將腳本執行限制爲2個CPU和3個GPU。

閱讀optparse文檔後,我並不聰明。哦,偉大的超級大師!借我你的智慧!

回答

1

您可以使用callback操作輕鬆實現此操作。特別是OptionParser的回調動作的example 6 in the documentation討論了可變數量的參數。下面是從一個例子講名言:當你想一個 選項,帶有可變數量的參數

事情變得毛茸茸的。對於這種情況,您必須撥打 回撥,因爲optparse不會爲 提供 它的任何內置功能。

+0

感謝禮,看到而是希望爲的「我無論是布爾或參數」 – Bolster 2011-05-11 11:09:41

+0

@Andrew角落的情況下一些清潔:我看到它,而爲「0或1個參數」 – 2011-05-11 11:11:29

+0

由於緊鄰到實際的答案。謝謝@Eli – Bolster 2011-05-17 04:44:10