如何使用 getopt 以便我可以按每個可能的順序檢查 2 個參數的每個有效組合?例如:try:opts, args = getopt.getopt(argv,"a:b")except getopt.GetoptError: try: opts, args = getopt.getopt(argv,"a:c") except: sys.exit(1)例如,輸入可以是script.py -a avalue -b bvalue或script.py -a avalue -c cvalue。a 和另一個參數的位置也可以顛倒。但在執行腳本時我只會得到令人困惑的值
1 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
首先,你可能想看看argparse
。需要更多的手動閱讀才能開始,但它可以做更多的事情!
對于getopt
,開關始終是可選的,并且始終可以按任何順序出現。即,如果你這樣做
opts, args = getopt.getopt(argv, "a:b:c:")
用戶可以按任何順序給出-a avalue
、-b bvalue
、 和-c cvalue
,并省略其中任何一個或全部。
另外,請注意,getopt
不希望在參數列表中找到程序名稱,這意味著您通常希望傳遞argv[1:]
.
添加回答
舉報
0/150
提交
取消