Python 脚本命令行定制参数——系统模块getopt

本文介绍如何在Python中使用getopt模块自定义命令行选项,包括帮助、版本显示及参数传递,实现类似Linux命令的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用linux命令的时候,如果不知道命令用法,可以使用命令加–help、-h去查看帮助,–list、-l查看列表,–version、-v查看当前命令/程序版本,那么这些在同样是脚本的python中如何实现呢?

话不多说见代码 custom_option.py

# ! /usr/bin/env python
# coding=utf8
import sys
import getopt

VERSION=1.0.0
USAGE="""
你可以定制下列参数
-h --help 查看帮助菜单
-v --version 查看当前版本
-d --date 指定日期参数
-n --name 指定姓名参数
"""
if __name__ == "__main__" :
    #参数校验
	try:
    	options,args = getopt.getopt(sys.argv[1:],'hvd:n:',['help','version','date=','name=','class=']
    except getopt.GetoptError:
        print("参数输入错误,请尝试 [python get_user_info.py -h] 获取帮助说明")
        sys.exit(1)
    ##参数使用
    date=''
    name=''
    for k,v in options:
        if k in ('-h','--help')
        	print(USAGE)
        if k in ('-v','--version')
        	print(VERSION)
        if k in ('-d','--date')
        	date=v
        	print(date)
        if k in ('-n','--name')
        	name=v
        	print(name)

关于getopt

getopt需要三个参数(args, shortopts, longopts:list=[]):

  • args 即用户输入的参数 args[0]是脚本名,所以取args[1:];
  • shortopts 短参是由单个字符拼成的字符串,如果该参数需要输入则字符后面跟’:’
  • longopts 是由长参数字符串组合的list,如果该参数需要输入则该字符串后面跟‘=’

使用

上述代码可以像多参数命令一样使用了。

python custom_option.py -v
1.0.0
python custom_option.py --no
参数输入错误,请尝试 [python get_user_info.py -h] 获取帮助说明
python custom_option.py -d 2020-02-02
2020-02-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值