Python 命令行工具辅助getopt使用解析!

本文详细介绍了Python内置库getopt的使用,包括如何处理短参数和长参数,以及如何优雅地解析命令行选项。通过示例代码展示了getopt.getopt函数的调用方式,帮助读者理解如何在实际项目中应用getopt来增强命令行工具的灵活性。

正式的Python专栏第14篇,同学站住,别错过这个从0开始的文章!

这次介绍一下getopt这个库。

这个库学委在pypi-seed开源项目中使用了,本文介绍如何使用优雅的应对不同的参数,让cli命令行程序更加弹性

python内置库getopt

getopt是一个简化命令行工具参数处理的库,可以定义短参数和长参数。这个说的比较官方。下面看看相对友好的介绍:

小白可能不太懂,它像媒人配对一样,自动的把参数进行配对。
你告诉他参数‘-a’ 后面跟一个名字,getopt可以在程序内解析出(a,名字)这样的映射
如果参数是这样:
–author=雷学委 --project=hello
getopt可以帮我们处理为:
(author, “雷学委”),(project,“hello”)

getopt的调用

#getopt.getopt传入三个参数
import getopt
getopt.getopt(args, options, [long_options])

比如pypiseed生成项目,接收了3个主要参数

  • name: 项目名
  • dir: 项目路径
  • author: 作者名字

我们从pypiseed调用命令来看如何编写getopt。

第一种 短参数类型

短参数类型,即是使用‘-‘ 加上一个单字母。比如大家非常常见的’-h’ (查看帮助信息) 或者 ‘-v’ (查看版本信息)

我们下面来看pypiseed CLI如何使用getopt模块的。

pypiseed -p demo_project -a testuser -d /tmp 

我们看到这个命令行pypiseed接受了-p , -a, -d 三个。

我们使用getopt 如何声明处理这三个参数。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/9/9 10:45 下午
# @Author : LeiXueWei
# @优快云/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : getopstest.py
# @Project : hello


import sys
import getopt


def parse_args():
    project = author = dir = None
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷学委

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值