1 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
查看argcomplete及其工作原理。您可以將它放在 之后parser.parse_known_args()
和之前parser.parse_args()
,但它不會(huì)給您帶來(lái)太多好處,因?yàn)樗鼤?huì)運(yùn)行您的腳本并檢查parser
提供的內(nèi)容以找出自動(dòng)完成的選項(xiàng)。它不向腳本傳遞任何參數(shù)(即到目前為止在命令行上輸入的內(nèi)容)。
當(dāng) argcomplete 被調(diào)用時(shí),您的腳本將不知道filename
傳遞了什么以及應(yīng)該動(dòng)態(tài)添加哪些其他參數(shù)。
此外,如果您在required=True
運(yùn)行之前已將任何參數(shù)添加到解析器中,parser.parse_known_args()
您確實(shí)永遠(yuǎn)不會(huì)運(yùn)行,argcomplete.autocomplete(parser)
因?yàn)樵诘竭_(dá)后者之前,腳本的執(zhí)行會(huì)在前者上失?。ㄍ瑯?,為了自動(dòng)完成,腳本在沒(méi)有任何參數(shù)的情況下運(yùn)行傳遞給它)。
添加回答
舉報(bào)