我需要一些關於使用argparse的幫助。我想實現的是我只需要傳入一個參數,它可以是以下之一:--k, --r, --b, --p,(ignore the rest)
。如果參數計數不是1,則輸出「用法」信息並退出。此外,該程序需要知道哪個標誌傳入以創建相應的對象。我嘗試了幾次,但我不工作,任何人都可以給我一個提示嗎?謝謝。需要幫助python命令行參數使用argparse
1
A
回答
4
你需要使用來實現這一目標什麼是mutually exclusive group:
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-k', action='store_true')
group.add_argument('-r', action='store_true')
group.add_argument('-b', action='store_true')
group.add_argument('-p', action='store_true')
parser.parse_args()
因爲它可以在下面的例子中可以看出,在一個互斥組只有一個選項,允許在同一時間:
$ python test.py -k -r -b -p
usage: test.py [-h] [-k | -r | -b | -p]
test.py: error: argument -r: not allowed with argument -k
要檢查哪些標誌傳遞,你只需要看看由parse_args
方法(標誌p返回argparse.Namespace
對象將被設置爲True
)。
+0
幹得好!看起來我完全是在錯誤的軌道上,thx爲樣本! –
3
如何根本不使用?這似乎並不是必要的。
if len(sys.argv) != 2:
print_usage()
arg = sys.argv[1]
if arg not in ["--k", "--r", "--b", "--p"]:
print_usage()
# Do whatever you want with arg
+0
這也沒關係! –
相關問題
- 1. Java中,新手需要幫助使用命令行參數
- 2. COPY命令需要幫助
- 3. awk命令需要幫助
- 4. 需要幫助的簡單的C命令行參數
- 5. 需要使用bash命令的python腳本幫助
- 6. 用argparse打印命令行參數?
- 7. 需要SSRS參數幫助
- 8. Python幫助命令
- 9. 需要幫助Python函數
- 10. 批量需要Dir命令幫助
- 11. P4打印命令的幫助需要
- 12. 需要幫助的tar命令
- 13. 需要vbscript「oShell.run」命令的幫助
- 14. 需要幫助理解bash命令
- 15. UNIX - 在grep命令需要幫助
- 16. 需要幫助的preg_match命令在PHP
- 17. Python - 需要幫助
- 18. 需要Python幫助
- 19. Python Argparse有條件需要的參數
- 20. Python令人困惑,需要幫助
- 21. Python argparse:可以被命名或位置的命令行參數
- 22. Python中使用argparse所需的命令行選項
- 23. 需要幫助比較命令行參數與字符串文字在Java
- 24. Python TKinter Threading幫助需要的幫助
- 25. 需要幫助編寫和使用Python
- 26. 需要幫助anayzing使用python
- 27. 需要幫助繼續使用python
- 28. Python argparse組合命令和命令參數
- 29. 需要幫助命名類
- 30. 需要tcl命令使用方面的幫助regsub
「我嘗試了幾次,但我不工作」:你能發表你試過的東西,並解釋什麼是行不通的嗎? –