获取命令行参数Python中getopt()函数的使用

代码执行的时候,可能需要传入自定义参数。这些自定义参数值如何获取呢:可以通过getopt依赖包中的getopt()方法来实现。

先上代码:

场景-python执行的时候,可以指定账号密码

class TEST():
    def __init__(self):
        self.user = ''
        self.password = '' 
    def get_opt(self):
        try:
            short_args = 'hup'
            long_args = ['help', 'user=', 'password=']
            opts, args = getopt.getopt(sys.argv[1:], short_args, long_args)
            if not opts:
                print '''
                    python research_test.py [option][value]...
                    -h or --help
                    -u or --user=账号
                    -p or --password=密码
                    '''
                sys.exit()
        except getopt.GetoptError as err:
            print(str(err))
            print '''
                    python research_test.py [option][value]...
                    -h or --help
                    -u or --user=账号
                    -p or --password=密码
                    '''
            sys.exit()

        for opt, val in opts:
            if opt in ('-h', '--help'):
                print '''
                    python research_test.py [option][value]...
                    -h or --help
                    -u or --user=账号
                    -p or --password=密码
                    '''
                sys.exit()
            elif opt in ('-u', '--user'):
                self.user = val
            elif opt in ('-p', '--password'):
                self.password = val
            else:
                print("Using the wrong way,please view the help information.")
                sys.exit()

执行的时候,下面两个命令效果一致:

方法1:python test.py -u zhangsan -p zhangsan_password

方法2:python test.py --user zhangsan --password zhangsan_password

说明:

目前有短选项和长选项两种格式。短选项格式为"-"加上单个字母选项;长选项为"--"加上一个单词。长格式是在Linux下引入的。许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值