我想能夠指定一個選項作爲我的程序,既充當一個標誌,也充當變量。例如: 我有一個名爲「--logging」的參數。如果沒有指定這個參數,我希望它被設置爲false(即action ='store_true'),但是如果指定了參數,我想要做兩件事。 1)我想設置一個默認路徑「./log_file.log」和2)我想允許用戶指定一個不同的日誌文件位置。Python argparse結合了一個標誌和變量
3
A
回答
-1
是的沒有問題。您可以使用此表中的出色PyMOTW about argparse
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--logging', action='store_true', default=False,
dest='logging_on',
help='Activate the logging')
results = parser.parse_args()
解釋您可以使用logging_on測試和輸出值後來在你的代碼(由什麼是有道理的,你更換)。您還可以使用配置文件或/和文件日誌路徑的參數。
6
對,所以我想出了自己的解決方案。它依賴於nargs。下面是代碼第一:
#!/usr/bin/python
# example.py
import argparse
parser = argparse.ArgumentParser(description="Example of a single flag acting as a boolean and an option.")
parser.add_argument('--foo', nargs='?', const="bar", default=False)
args = parser.parse_args()
if args.foo:
print args.foo
else:
print "Using the default, boolean False."
鑑於例如,下面是當我們在三種可能的情況下使用它會發生什麼:
> ./example.py
Using the default, boolean False.
> ./example.py --foo
bar
> ./example.py --foo baz
baz
希望上面是不言自明。如果不是,那麼發生的是那個nargs ='?'如果沒有指定標誌(在我們的例子中是boolean False),將使用'default'值,如果該標誌被指定爲不帶參數,則使用const值,如果標誌使用參數指定,則使用參數。注意不要在False附近引用任何引號; False是內置類型(布爾型),「False」或「False」將評估爲true。
相關問題
- 1. 的Python argparse允許組合標誌
- 2. Python argparse切換標誌
- 3. 結合變量和每個循環python
- 4. Python Argparse:使用空的標誌
- 5. 的Python argparse:類型不一致結合 '選擇', 'NARGS' 和 '默認'
- 6. 的Python argparse接受可變參數(偶數標誌)
- 7. Python argparse自變量的依賴
- 8. Python Argparse嚴格的變量名稱
- 9. 可變數量的narg參數Python Argparse
- 10. 結合變量和HTML PHP變量內
- 11. Python sys.argv和argparse
- 12. Python argparse和sys.argv
- 13. Python argparse:將多值參數與默認值和常量相結合
- 14. jQuery如何結合這個和變量
- 15. 結合兩個變量ggplot:geom_pointrange和geom_point
- 16. 瞭解python的argparse模塊
- 17. 運算+只是結合了變量
- 18. Python 2.7 argparse:如何使用單個標誌採用file_name和文件
- 19. 三個變量(列)在一個變量(列)相結合
- 20. Python Argparse:當且僅當給出一個標誌時,如何設置參數?
- 21. 在grep中結合使用-v標誌和-A標誌
- 22. argparse結合可選參數
- 23. PHP結合多個變量
- 24. 你可以結合一個C#變量與HTML標籤名
- 25. 結合變量
- 26. 使用任何一個標誌參數或argparse
- 27. 創造了第一個和最後一個標誌SAS
- 28. 建立了一個變量值和固定的字典python
- 29. 結合變量等於一個現有的變量
- 30. 結合PHP變量和選擇變量到一個SQL INSERT查詢
這並不能解決我的問題。我不僅希望將其設爲真/假標誌,還要允許其保留默認值或自定義值。我在下面解決了我自己的問題! – Calcipher
@Calcipher啊很酷。標記爲已解決。 – karlcow