argparse是python自带的命令行参数解析包吗

本篇内容主要讲解“argparse是python自带的命令行参数解析包吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“argparse是python自带的命令行参数解析包吗”吧!

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为五龙口企业提供专业的网站设计、成都网站建设五龙口网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数

cat test.py

import argparse
version = "1.0.0"parser = argparse.ArgumentParser(description="BestYunYan-基于WebSocket的堡垒机");#description描述这个参数解析器是干什么的,在--help时,会被最先打印出来。
#usage:描述程序用法的字符串(默认:从解析器的参数生成)parser.add_argument('--port','-p',type=int,default=8000,help="服务器端口,默认为8000");#添加参数设置parser.add_argument('--host','-H',default="0.0.0.0",help='服务器IP,默认为0.0.0.0');#添加参数设置args = parser.parse_args()
print('args:',args)#打印实例#args: Namespace(host='192.168.100.0', port=222)
#实例化
#print('BestYunYan-基于WebSocket的堡垒机 is running ......')print("当前版本[version]:{} \n主机IP[host]:{} \n主机端口[port]:{}".format(version,args.host,args.port))#print("当前版本[version]:%s \n主机IP[host]:%s \n主机端口[port]:%d" %(version,args.host,args.port))
#获取打印传入的数据

argparse是python自带的命令行参数解析包吗

argparse是python自带的命令行参数解析包吗

#encoding:utf-8
import argparse
#用于传参
if __name__ == '__main__':
    parser=argparse.ArgumentParser()
    parser.add_argument('-H','--host',type=str,help='server addr',default='127.0.0.1')
    #配置传递的参数,-H表示传递参数为-H='192.154.23.1'或者--host='192.167.1.1',help为帮助信息,default是默认值
    parser.add_argument('-p','--port',type=int,help='server port',default=9999)
    #type为传递参数的类型。
    parser.add_argument('-I','--plugins',type=str,nargs='+',help='plugins',default=['01'])
    #type表示传递的每一个参数都必须是字符串,nargs='+'表示至少传递一个参数,此时,传递的参数会以列表形式展示。默认必须设置为列表
    parser.add_argument('-A','--plugins2',type=str,nargs='*',help='ddd',default=[])
    #表示可以传递任意多个参数,可以为0个参数。nargs='*'表示0或0个以上,+表示必须传递至少一个。
    parser.add_argument('-v','--version',default='False',action='store_true')
    #表示传递的参数是bool类型,ture/faluse类型#默认为False,注意传递是,当使用不写-v 则返回为False,如果加了-v参数,则返回为True
    args=parser.parse_args()
    print(args)运行时参数使用空格传递,不能使用=传递#当运行python 1.py时使用默认值
[root@bestyunyan tmp]# python3 1.py
Namespace(host='127.0.0.1', plugins=['01'], plugins2=[], port=9999, version=False)
[root@bestyunyan tmp]# python3 1.py -H '127.0.0.1' -p 8888 -I 1 2 3 4 -A a b -v
Namespace(host='127.0.0.1', plugins=['1', '2', '3', '4'], plugins2=['a', 'b'], port=8888, version=True)
[root@bestyunyan tmp]# python3 1.py -H '127.0.0.1' -p 8888 -I 1 2 3 4 -A a b
Namespace(host='127.0.0.1', plugins=['1', '2', '3', '4'], plugins2=['a', 'b'], port=8888, version='False')
#encoding:utf-8import argparse
#命令参数传递if __name__ == '__main__':
    parser=argparse.ArgumentParser()
    parser.add_argument('-H','--host',type=str,default='127.0.0.1',help='服务IP')
    parser.add_argument('-P','--port',type=int,default=8888,help='服务端口')
    parser.add_argument('-V','--verbose',action='store_true', help='DEBUG INFO')
    args=parser.parse_args()
    print(args.host)
    print(args.port)
    print(args.verbose)

到此,相信大家对“argparse是python自带的命令行参数解析包吗”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


标题名称:argparse是python自带的命令行参数解析包吗
当前地址:http://hbruida.cn/article/pdodho.html