optparse 程式碼遷移到 argparse

argparse 模組提供了幾個 optparse 模組本身不具備的更高階特性,包括:

  • 處理位置引數。

  • 支援子命令。

  • 允許使用 +/ 等可選選項字首。

  • 處理零個或多個和一個或多個樣式的引數。

  • 生成更詳細的用法訊息。

  • 為自定義 typeaction 提供更簡單的介面。

最初,argparse 模組試圖保持與 optparse 的相容性。然而,在支援宣告式命令列選項處理(同時將位置引數處理留給應用程式程式碼),以及在宣告式介面中支援命名選項和位置引數之間的根本設計差異意味著 API 隨著時間的推移與 optparse 的 API 產生了差異。

正如 選擇引數解析庫 中所述,目前正在使用 optparse 並且對其工作方式感到滿意的應用程式可以繼續使用 optparse

正在考慮遷移的應用程式開發人員也應該在決定是否需要遷移之前,檢視該部分描述的內在行為差異列表。

對於確實選擇從 optparse 遷移到 argparse 的應用程式,以下建議應該會有所幫助: