>记录生活, 工作的点点滴滴...

argparse: Python命令行解析神器

sys.argv能够获取python在交互中的参数信息, 但信息是原始字串列表, 进行简单的解析操作还行, 但如果较为复杂时, 实现就比较困难了.
其实, python标准包里自带了一个专门处理交互参数的包:argparse, 来一起领略下它的简单与强大.

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('filename', help='file absolute path')
parser.add_argument('-a', '--header', action="store_true", help='File contains header(True), or not(False)')
args = parser.parse_args()
print(args.filename)

如上, 一个简单的包含参数的命令行脚本就完成了.
保存文件为testargs.py, 运行来看一下:

>python testargs.py 
usage: testargs.py [-h] [-a] filename
testargs.py: error: the following arguments are required: filename

提示使用方法.

>python testargs.py -h 
usage: testargs.py [-h] [-a] filename

Hander raw files

positional arguments:
filename file absolute path

optional arguments:
-h, --help show this help message and exit
-a, --header File contains header(True), or not(False)

显示帮助文档.

>python testargs.py d:/path/to/files.csv
Namespace(filename='d:/path/to/files.csv', header=False)

参数格式.

 


发表于:2019-04-25 14:06:48浏览(237) 评论(0) Python