有沒有辦法讓python的optparse在使用--help顯示幫助時打印選項或標誌的默認值?Python的optparse可以顯示選項的默認值嗎?
41
A
回答
54
嘗試使用%default
字符串佔位符:
# This example taken from http://docs.python.org/library/optparse.html#generating-help
parser.add_option("-m", "--mode",
default="intermediate",
help="interaction mode: novice, intermediate, "
"or expert [default: %default]")
7
如果您需要將默認值的編程訪問,您可以通過解析器的defaults
屬性得到他們(這是一個字典)
7
如果您想要將默認值自動添加到您指定的所有選項中,則可以執行以下操作:
for option in parser.option_list:
if option.default != ("NO", "DEFAULT"):
option.help += (" " if option.help else "") + "[default: %default]"
0
The co對你的問題的評論已經表明有另一種方法來解析名爲argparse的參數。它已經在Python 3.2中引入。它實際上棄用optparse
,但使用類似。
argpass
帶有不同的格式化類,例如argparse.ArgumentDefaultsHelpFormatter
也會打印默認值,而無需手動操作幫助字符串。
參數Parser對象允許通過指定替代格式化類的 自定義幫助格式。目前,有四個 這樣的類:
類argparse.RawDescriptionHelpFormatter
類argparse.RawTextHelpFormatter
類argparse.ArgumentDefaultsHelpFormatter
類argparse.MetavarTypeHelpFormatter
從一個例子python文檔:
>>> parser = argparse.ArgumentParser(
... prog='PROG',
... formatter_class=argparse.ArgumentDefaultsHelpFormatter)
>>> parser.add_argument('--foo', type=int, default=42, help='FOO!')
>>> parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
>>> parser.print_help()
usage: PROG [-h] [--foo FOO] [bar [bar ...]]
positional arguments:
bar BAR! (default: [1, 2, 3])
optional arguments:
-h, --help show this help message and exit
--foo FOO FOO! (default: 42)
0
從文檔添加argparse.ArgumentDefaultsHelpFormatter到您的解析器
import argparse
parser = argparse.ArgumentParser(
description='Your application description',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
:
ArgumentDefaultsHelpFormatter會自動將有關 默認值,每個參數的幫助信息: Blockquote
相關問題
- 1. 默認突出顯示的選項卡
- 2. jQuery選擇默認選項顯示
- 3. html選擇不顯示默認選項
- 4. 選項選擇,不顯示默認
- 5. 選項值默認
- 6. 默認情況下,gitk可以顯示合併的差異嗎?
- 7. 我可以使用可選鏈給出可選屬性的默認值嗎?
- 8. Python的optparse中的有序選項
- 9. 如何在HTML選擇標記中顯示默認選項值
- 10. Variant屬性可以有默認值嗎?
- 11. 可以計算SQL默認值嗎?
- 12. 默認值顯示值C#
- 13. knockout.js HTML選項 - 顯示默認值時,可觀察到的是空
- 14. 顯示默認項目(javascript)
- 15. 如何知道optparse選項是通過命令行還是默認值
- 16. 我們可以使用DefaultIfEmpty顯示默認圖像嗎?
- 17. 選項字段默認值
- 18. Android:首選項默認值
- 19. Wpf Comboxbox可選默認項
- 20. 默認情況下,您可以使網站以90%的尺寸顯示嗎?
- 21. 如何默認多選primeng的選擇值與顯示標註
- 22. 選項參數中可選參數的默認值
- 23. 我可以使用TimeSpan作爲具有默認值的可選參數嗎?
- 24. C#4.0:我可以使用Color作爲默認值的可選參數嗎?
- 25. Python類型提示 - 如何提示可選參數的默認值不是None?
- 26. 如何在下拉框中顯示兩個項目,不可選默認值和第一個可選項目?
- 27. 通過JavaScript的默認選項值
- 28. 選項中的組合框默認值
- 29. JavaScript中選項對象的默認值
- 30. GuidedStepFragment選項默認是可編輯的
看到這個:http://stackoverflow.com/questions/12151306/argparse-way-to-include-default-values-in-help – 2014-01-16 09:26:18
如果有人尋求相同的Argparse:[Argparse:包括的方式'--help'中的默認值?](http://stackoverflow.com/a/12151325/562769) – 2014-02-24 07:48:37