我正在编写一个简单的 Python 脚本来导出、导入和比较数据库。我想让用户提供他们想要运行脚本的“模式”,我选择了导入、导出和差异作为我的选项。当我通过 argparse 运行它时,所有解析的选项都以 args 结尾,我可以使用 arg.export 或 args.diff 访问它们,但由于“import”是一个关键字,我遇到了问题。
我可以做一些变通方法来让它工作,但我想知道是否有可能保留我所拥有的。例如,我可以将选项缩短为“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)