我正在寫一個Python腳本,充當GCC的包裝器。GCC所采用的大多數選項都可以通過argparse直接處理,但是我在“ -Wl,option”選項中苦苦掙扎。我希望它在逗號后存儲所有內容,因此我嘗試了以下操作:parser = argparse.ArgumentParser()parser.add_argument("-Wl,", help="Option to pass to linker.")known, unknown = parser.parse_known_args()print(known)print(unknown)但是,如果我按以下方式運行腳本:python foo.py -Wl,foo我得到以下輸出:Namespace(E=False, S=False, Wl,=None, c=False, optimization=None, shared=False, target=None)['-Wl,foo']這表明它無法識別-Wl選項。我可以將add_argument行更改為:parser.add_argument("-W", help="Option to pass to linker.")這可以在W選項中存儲“ l,foo”,但是GCC使用-W作為警告標志,而我想將那些標志與-Wl選項分開。我可以遍歷未知的args列表并以這種方式處理它們,但是我希望有一個更優雅的解決方案。有小費嗎?
2 回答

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
在將它們傳遞給argparse之前,您可以按照簡單.replace(',',', ')
或.replace(',',',=')
所有arg的方式進行操作。我認為其中之一應該可以解決問題。
添加回答
舉報
0/150
提交
取消