Press "Enter" to skip to content

“使用sysargv、argparse、docopts和Typer的命令行界面”

4种传递参数给 Python 脚本的方式

露天照片 by Florian Olivo

部署流水线时,通常会有一个主要脚本,或者是整个流水线运行的入口点。例如,在数据科学流水线中,代码仓库的入口点应该按顺序协调和运行数据处理、特征工程、建模和评估流水线。

有时候,您可能需要运行不同类型的流水线或对流水线进行临时调整。

调整可能包括省略代码的某些部分或使用不同的参数运行流水线。在数据科学中,可能有一个训练和评分流水线,或者某些运行需要完全或部分刷新数据。

最简单的解决方案是创建多个主要脚本。然而,这将导致代码重复,并且难以长期维护多个脚本 —— 因为可能会有很多不同的调整组合。 更好的解决方案是让主要脚本接受参数,以参数值或标志的形式,然后通过命令行界面 (CLI) 运行适当类型的流水线。

本文不详细介绍主要脚本如何使用这些参数,而是介绍了几种不同的方式,可以向主要脚本传递参数 —— 您可以将主要脚本视为接受参数的函数!我还将详细说明每种方法的优缺点,并提供实现基本到高级用法的代码示例。

目录

  • 使用 sysargv:最简单的方式
  • 使用 argparse:最常用的方式
  • 使用 docopts:另一种方式
  • 使用 Typer:最新且最简单的方式

使用 sysargv

传递参数的最简单方式

可以直接使用 sysargv 传递参数并读取,使其成为传递多个参数的最简单方式。

演示

Leave a Reply

Your email address will not be published. Required fields are marked *