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