有沒有辦法讓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. Python的optparse,默認值和顯式選項
- 2. Python optparse默認值vs函數默認值
- 3. 選項卡顯示默認值,需要顯示我們選擇的選項卡
- 4. 默認突出顯示的選項卡
- 5. jQuery選擇默認選項顯示
- 6. 選項選擇,不顯示默認
- 7. html選擇不顯示默認選項
- 8. 選擇2顯示默認值選擇
- 9. 選項值默認
- 10. Python optparse不接受選項
- 11. 默認情況下,gitk可以顯示合併的差異嗎?
- 12. 可選的默認值
- 13. Python的optparse中的有序選項
- 14. 我可以使用可選鏈給出可選屬性的默認值嗎?
- 15. 如何在HTML選擇標記中顯示默認選項值
- 16. 如何通過ajax調用顯示默認選擇選項值
- 17. 可以計算SQL默認值嗎?
- 18. Variant屬性可以有默認值嗎?
- 19. 選擇不顯示其默認值
- 20. 默認值顯示值C#
- 21. knockout.js HTML選項 - 顯示默認值時,可觀察到的是空
- 22. 顯示默認項目(javascript)
- 23. 選項以2個參數的OptParse
- 24. 如何知道optparse選項是通過命令行還是默認值
- 25. 我們可以使用DefaultIfEmpty顯示默認圖像嗎?
- 26. Wpf Comboxbox可選默認項
- 27. Nuget Pack默認選項值
- 28. 默認值與NG-選項
- 29. 選項字段默認值
- 30. Bigcommerce API - 選項默認值
看到這個: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