假設用戶輸入:
./args.py --create --mem 5
而我的決議器看起來像這樣:
parser.add_argument('--create', nargs='*', default=None)
通常情況下,--create需要一個帶有nargs='*'的串列,但是在這種情況下,用戶什么都沒傳過來。
我希望發生的是,當呼叫--create時被設定為默認值,而我得到的是[]
問題。是否有辦法檢測--create是否出現在命令列引數中而后面沒有任何東西?
uj5u.com熱心網友回復:
這里是一個簡單的代碼片段:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--create'/span>, nargs='*'/span>, default=None)
options = parser.parse_args()
print(options)
這里有一些互動:
$ ./args.py
Namespace(create=None)
$ ./args.py --create
命名空間(create=[])
$ ./args.py --創建一個
名稱空間(create=['one'] )
$ ./args.py --create one two
Namespace(create=['one', 'two'])
正如你所看到的,如果用戶沒有添加--create標志,它就是None。如果用戶使用--create標志時什么都不加,你就會得到一個空的串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/308552.html
標籤:
上一篇:用Gtk在一個串列中顯示串列
下一篇:reauthenticateWithCredential出錯得到錯誤TypeError:credential._getReauthenticationResolver不是一個函式(firebase9)
