1
我有這樣的代碼解析的命令行參數字符選項中的錯誤(?):的Python argparse與單參數
def handleCmdLineArgs(self):
parser = argparse.ArgumentParser()
parser.add_argument('-j','--juice', help='juice', default="")
parser.add_argument('-bx','--box', help='box', default="")
args,unknown = parser.parse_known_args()
當我運行與其中j argparse開始-j後的參數命令行
舉例:: program.py -j橙-jungle
argparse將返回args.juice =「ungle」,而不是所希望的「橙色的參數argparse將與字的其餘部分取代-j參數「
我已經創建了一個解決方法,但我很好奇,如果其他人已經看到這個或知道它發生的原因?或者這可能是一個錯誤,在argparse?
我不想橙色-jungle傳遞的價值,我想在橙爲-j的值傳遞,我想 - 叢林最終以未知數 – Ken
@肯:這不是一個可用的選項。命令行應該接受一個選項或者如果不行的話會引發錯誤。你也許可以嘗試[部分解析](https://docs.python.org/3/library/argparse.html#partial-parsing)來實現處理「未知」選項,但對於任何以已知單 - 特徵短選項,你必須接受argparse會將其視爲選項 - 值對。 –
@ Martijn Pieters,這正是我正在做的。注意下面這行:args,unknown = parser.parse_known_args() – Ken