IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 使用 getopt 自定义命令行参数 -> 正文阅读

[Python知识库]Python 使用 getopt 自定义命令行参数

简介

官方文档
getopt 模块是一个命令行选项解析器。
可以解析自定义选项

使用

# -*- encoding: utf-8 -*-
# CreateTime: 2022/4/14 22:22
# Author: @一碗烈酒
import getopt
import sys

"""
官方文档:https://docs.python.org/zh-cn/3/library/getopt.html?highlight=getopt#module-getopt

解析命令行参数
opts, arguments = getopt.getopt(args=args, shortopts="n:u:h", longopts=["num=", "username="])
getopt.getopt 返回一个元组:
    opts 是一个包含选项和值的元组的列表;
    arguments 是一个包含多个参数的列表。 
getopt.getopt参数:
    args: 一般就是排除第一个执行文件外的所有命令参数 sys.args[1:]
    shortopts: str格式,指定多个短选项。默认选项不能跟参数;选项后面加冒号: 代表必须跟参数;在命令行内使用时 使用 -选项 值
    longopts: list格式,指定多个长选项。默认选项不能跟参数;选项后面加== 代表必须跟参数;在命令行内使用时 使用 --选项 值

解析出参数之后,需要自己写循环来根据opts 执行对一个的操作 或者退出 sys.exit()
"""


def get_args(args):
    # print(args)
    # 没有参数直接返回
    if not len(args):
        return
    try:
        # opts, values = getopt.getopt(args=args, shortopts="n:u:h", longopts=["num=", "username="])
        # opts, values = getopt.getopt(args=args, shortopts="nuh", longopts=["num=", "username="])
        # opts, values = getopt.getopt(args=args, shortopts="n:u:h")
        # opts, values = getopt.getopt(args=args, shortopts="", longopts=["num=", "username=", "help=="])
        opts, arguments = getopt.getopt(args=args, shortopts="", longopts=["num=", "username", "help"])
        print(opts, arguments)
    except getopt.GetoptError as e:
        print(e)
        print("显示帮助信息")
        sys.exit(2)

    for opt, value in opts:
        print(opt, value, "---")
        if opt in ("-n", "--num"):
            print("nnnnn", value)
        elif opt in ("-u", "--username"):
            print("uuuuuu", value)
        else:
            print("帮助信息显示")
            sys.exit()


if __name__ == '__main__':
    get_args(sys.argv[1:])
    pass

使用

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:36:49  更:2022-04-18 17:42:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 13:12:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计