我正在編寫一個簡單的Python腳本來導出,導入和區分數據庫。我想讓用戶提供他們想要運行腳本的「模式」,並選擇導入,導出和差異作爲我的選項。當我通過argparse運行它時,所有解析的選項都以args結尾,我可以使用arg.export或args.diff來訪問它們,但由於「import」是一個關鍵字,所以我遇到了問題。在argparse中使用python關鍵字作爲選項
我可以做一些改變,讓它工作,但我想知道是否有可能保留我擁有的東西。例如,我可以將選項縮短爲「exp」,「imp」和「diff」,或者我可以執行一個名爲「mode」的選項,該選項需要傳入「import」,「export」或「diff」。
我當前的代碼:
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("--export", help="Export source(s)", action="store_true")
group.add_argument("--import", help="Import source(s)", action="store_true")
group.add_argument("--diff", help="Diff sources", action="store_true")
parser.add_argument("filename", help="XML Filename used for exporting to, importing from or comparing while doing diff.")
args = parser.parse_args()
if args.export:
export_sources(args.filename)
elif args.import:
import_sources(args.filename)
elif args.diff:
diff_sources(args.filename)