我正在使用 Python 的argparse模塊來解析命令行參數??紤]以下簡化示例,# File test.pyimport argparseparser = argparse.ArgumentParser()parser.add_argument('-s', action='store')parser.add_argument('-a', action='append')args = parser.parse_args()print(args)可以成功調用python test.py -s foo -a bar -a baz-s在 each之后和之后需要一個參數-a,如果我們使用引號,它可能包含空格。但是,如果參數以破折號 ( -)開頭并且不包含任何空格,則代碼會崩潰:python test.py -s -begins-with-dash -a bar -a baz錯誤:參數 -s:應為一個參數我知道它解釋-begins-with-dash為新選項的開始,這是非法的,因為-s尚未收到所需的參數。盡管沒有-begins-with-dash定義帶有名稱的選項,但它也很清楚,因此首先不應將其解釋為選項。如何argparse使用一個或多個前導破折號接受參數?
Python argparse:參數中的前導破折號
慕工程0101907
2021-06-28 12:56:47