本篇内容主要讲解“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)) #获取打印传入的数据
#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自带的命令行参数解析包吗”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!