python
编写的脚本需要通过命令参数来做一些参数配置。本文将介绍如何使用argparse
来解析命令行参数。这种方法相对于sys.args
的方式会简单很多。
通过以下的脚本来构建一个简单的配置解析器,解析用户名、密码。
import argparse
import sys
def main():
args = sys.argv
print(args)
parser = argparse.ArgumentParser(
prog='App.py',
description='An app.py description',
epilog='Copyright(r), 2024',
)
parser.add_argument('source')
parser.add_argument('-u', '--user', default='admin', type=str, required=True)
parser.add_argument('-p', '--password', default='admin', type=str, required=True)
args = parser.parse_args()
print('parsed args:')
print(f'outfile = {args.source}')
print(f'user = {args.user}')
print(f'password = {args.password}')
if __name__ == '__main__':
main()
如果直接运行脚本,由于没有提供任何的参数,因此会直接输出格式化的帮助文档
python app.py -h
输出结果:
usage: App.py [-h] -u USER -p PASSWORD source
An app.py description
positional arguments:
source
optional arguments:
-h, --help show this help message and exit
-u USER, --user USER
-p PASSWORD, --password PASSWORD
输入正确的命令行参数,程序将输出对应的配置参数
python app.py -u admin -p admin main.py
输出结果
['xxxx/app.py', '-u admin', '-p admin', 'main.py']
parsed args:
outfile = main.py
user = admin
password = admin
参考链接
argparse - 廖雪峰的官方网站
argparse --- 用于命令行选项、参数和子命令的解析器