温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-24 12:05:31 来源:亿速云 阅读:292 作者:chen 栏目:大数据

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

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自带的命令行参数解析包吗”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI