如何使用argparse模块在Python中高效解析长尾命令行参数?

2026-04-15 07:009阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2302个文字,预计阅读时间需要10分钟。

如何使用argparse模块在Python中高效解析长尾命令行参数?

命令行参数工具是我们经常使用的工具,比如当我们做实验需要调整参数时,如果参数都是硬编码在代码中的,每次修改参数都需要改动相应的代码和逻辑,显然这不太方便。

命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。

sys.argv

解析命令行传入参数最简单的办法就是通过sys.argv,sys.argv可以获取到我们通过命令行传入的参数。

import sys print(sys.argv)

用法很简单,只需要调用sys.argv即可。argv是一个数组,如果参数有多个,我们可以通过下标进行访问。但是有一点需要注意,argv当中存储的结果是从Python调用开始的。

我们来看一个例子,我们随意传入一些参数,print sys.argv之后是这样的。

python test.py -a -c -d=222 >>> ['test.py', '-a', '-c', '-d=222']

也就是说我们python运行test.py这个文件名也当做参数之一,所以我们要获取自定义参数的话需要从argv[1]开始。

sys.argv的好处是方便,我们只需要访问它就可以拿到传入的参数了。但是缺点也很明显,就是功能太少了。假如我们是看其他大神的代码,我们想要知道运行的时候需要传入什么参数,以及每个参数代表什么含义就做不到了。

阅读全文

本文共计2302个文字,预计阅读时间需要10分钟。

如何使用argparse模块在Python中高效解析长尾命令行参数?

命令行参数工具是我们经常使用的工具,比如当我们做实验需要调整参数时,如果参数都是硬编码在代码中的,每次修改参数都需要改动相应的代码和逻辑,显然这不太方便。

命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,我们每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。

sys.argv

解析命令行传入参数最简单的办法就是通过sys.argv,sys.argv可以获取到我们通过命令行传入的参数。

import sys print(sys.argv)

用法很简单,只需要调用sys.argv即可。argv是一个数组,如果参数有多个,我们可以通过下标进行访问。但是有一点需要注意,argv当中存储的结果是从Python调用开始的。

我们来看一个例子,我们随意传入一些参数,print sys.argv之后是这样的。

python test.py -a -c -d=222 >>> ['test.py', '-a', '-c', '-d=222']

也就是说我们python运行test.py这个文件名也当做参数之一,所以我们要获取自定义参数的话需要从argv[1]开始。

sys.argv的好处是方便,我们只需要访问它就可以拿到传入的参数了。但是缺点也很明显,就是功能太少了。假如我们是看其他大神的代码,我们想要知道运行的时候需要传入什么参数,以及每个参数代表什么含义就做不到了。

阅读全文