Python argparse教程展示了如何使用 argparse 模块解析 Python 中的命令行参数。
Python 的 argparse
通过argparse
模块,可以轻松编写用户友好的命令行界面。 它解析sys.argv
中定义的参数。
argparse
模块还会自动生成帮助和使用消息,并在用户为程序提供无效参数时发出错误。
argparse
是标准模块; 我们不需要安装它。
使用ArgumentParser
创建一个解析器,并使用add_argument()
添加一个新参数。 参数可以是可选的,必需的或定位的。
Python argparse 可选参数
下面的示例创建一个简单的参数解析器。
optional_arg.py
该示例添加了一个具有两个选项的参数:short -o
和 long --ouput
。 这些是可选参数。
该模块已导入。
参数添加了add_argument()
。 如果设置为store_true
,则action
会将参数存储为True
。 help 选项提供参数帮助。
参数由parse_args()
解析。 解析的参数作为对象属性存在。 在我们的例子中,将有args.output
属性。
如果存在该参数,我们将显示一些输出。
我们使用-o
和--output
运行程序。
我们可以向程序显示帮助。
Python argparse 必需参数
使用required
选项需要一个参数。
required_arg.py
该示例必须指定name
选项; 否则失败。
Python argparse 位置参数
以下示例适用于位置参数。 它们是使用add_argument()
创建的。
positional_arg.py
该示例需要两个位置参数:name 和 age。
创建位置参数时不带破折号前缀字符。
这是示例输出。
Python argparse 目标
add_argument()
的dest
选项为参数指定名称。 如果未给出,则从选项中推断出来。
dest.py
程序将now
名称赋予-n
参数。
Python argparse 类型
type
参数确定参数类型。
rand_int.py
程序显示从-100 到 100 的 n 个随机整数。
-n
选项需要整数值,这是必需的。
Python argparse 默认
如果未指定default
选项,则指定默认值。
power.py
该示例计算指数。 不需要指数值; 如果未给出,则默认值为 2。
Python argparse metavar
metavar
选项为错误的期望值命名,并提供帮助输出。
metavar.py
该示例将期望值命名为value
。 默认名称为V
。
给定的名称显示在帮助输出中。
Python argparse 追加操作
append
操作允许对重复选项进行分组。
appending.py
该示例生成问候语,并使用n
或name
选项指定所有名称。 它们可以重复多次重复。
Python 的 argparse nargs
nargs
指定应使用的命令行参数的数量。
charseq.py
该示例显示了从字符一到字符二的字符序列。 它需要两个参数。
使用nargs=2
,我们指定期望两个参数。
程序显示从 e 到 k 的字符序列。
可以使用*
字符设置可变数量的参数。
var_args.py
该示例计算值的总和。 我们可以为程序指定可变数量的参数。
Python argparse 选择
choices
选项将参数限制为给定列表。
mytime.py
在示例中,now
选项可以接受以下值:std
,iso
,unix
或tz
。
头例子
以下示例模仿 Linux head 命令。 它显示了文件开头的 n 行文本。
words.txt
对于示例,我们有这个小的测试文件。
head.py
该示例有两个选项:f
表示文件名,-n
表示要显示的行数。
这是 Python argparse 教程。 您可能也对 Python pathlib 教程和 Python 教程感兴趣。