首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python argparse 位置参数 可选值 默认

记录一下在py中使用argparse解析位置参数时, 位置参数设置为choice(列表)时, 默认值的问题.算个小坑吧, 所以记录一下.直接使用default先来看看直接使用default的情况....我们的想法是 第一个位置参数为 start/stop/status 第二个位置参数为monitor/transclient/all, 没写的时候默认为 status allimport argparseparser...= argparse.ArgumentParser(add_help=True, description='ei client')parser.add_argument('action', default...parser_instance = parser.parse_args()print(parser_instance.action, parser_instance.service)测试结果如下:图片发现并没有达到我们的预期, 默认值未生效其实官方有说明的......图片配合nargs使用defaultimport argparseparser = argparse.ArgumentParser(add_help=True, description='ei client

2.5K00

【转】Python 模块简介 -- argparse

例如,要禁止parse_args时的参数默认添加,我们可以: >>> parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS...位置参数没有前缀,而可选参数需要加前缀(默认为’-‘) >>> parser.add_argument('bar') # 添加位置参数 >>> parser.add_argument('-f', '-....>) choices: 可供选择的值 >>> parser = argparse.ArgumentParser(prog='doors.py') >>> parser.add_argument('door...,对于位置参数无效 >>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', dest='bar') >>> parser.parse_args...,对位置参数无效 help: help 信息 解析参数 要解析参数则需要用 ArgumentParser 对象的 parse_args() 方法,该方法运行会用’-‘来认证可选参数,剩下的即为位置参数。

2.6K00
您找到你想要的搜索结果了吗?
是的
没有找到

如何使用Python的命令行参数——创建自己的Python命令行参数脚本的简单指南

程序定义它需要的参数,然后argparse 将弄清如何从 sys.argv 解析出那些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...conda install argparse 定义位置参数和可选参数 创建一个ArgumentParse的对象parser,在ArgumentParser中对该脚本做简要描述。...用add_argument函数定义位置和可选参数,help用来简单描述这个参数的作用。 位置参数是必须放在合适位置或是遵循一定顺序的参数。...help中的%(default)s) 用来检索参数中的默认值。这是为了确保description不是硬编码,能随着默认值灵活更改。...定义输入参数范围 可以用choices参数限制可能输入参数的值,这对于防止用户输入无效值很有用。

2.4K00

Python 的 argparse 模块的作用,以及分享一个通用代码模板

argparse 模块还会自动生成帮助和使用信息。如果用户传入无效的参数,argparse 会显示错误消息,帮助用户正确使用程序。...位置参数:这些参数是在命令行中按照顺序传递的,不带前缀。例如,parser.add_argument("filename") 表示一个位置参数,用户需要提供一个文件名。...总的来说,这段代码使用 argparse 设置了一个参数解析器,定义了多个命令行参数及其类型、默认值和帮助信息,解析了所提供的参数,最终以字典形式返回。...错误处理:argparse 在用户向程序传入无效参数时会发出错误消息。这有助于防止用户输入错误的选项或参数,从而提高程序的健壮性。...位置参数和可选参数的灵活组合:argparse 允许您定义位置参数和可选参数,以及它们的组合。位置参数是根据其在命令行中出现的位置来处理的,而可选参数则可以根据用户的选择进行设置。 ️

15100

argparse------用于命令行选项、参数和子命令的解析器

程序定义了它需要什么参数,argparse将找出如何从sys.argv中解析这些参数。argparse模块还自动生成帮助和使用消息,并在用户给程序提供无效参数时发出错误。...对于其他操作,默认为None。default所有可选参数和一些位置参数都可以在命令行中省略。add_argument()的默认关键字参数的值默认为None,它指定如果命令行参数不存在,应该使用什么值。...默认情况下,ArgumentParser对象使用dest值作为每个对象的“名称”。默认情况下,对于位置参数操作,dest值直接使用,对于可选参数操作,dest值大写。...、无效选项、错误的位置参数数量等。...description - 帮助输出中的子解析器组的描述,默认情况下为None。 prog - 使用子命令帮助将显示的使用信息,默认情况下程序的名称和子解析器参数之前的任何位置参数。

6.8K20

Python 基础(二十一):argparse 模块

简介 argparse 模块主要用于处理 Python 命令行参数和选项,程序定义好所需参数后,该模块会通过 sys.argv 解析出那些参数;除此之外,argparse 模块还会自动生成帮助和使用手册...,并在用户给程序传入无效参数时报出错误信息。...使用 我们先来看一个简单示例: import argparse # 创建解析对象 parser = argparse.ArgumentParser() # 解析 parser.parse_args()...(默认值:'-') fromfile_prefix_chars:当需要从文件中读取其他参数时,用于标识文件名的前缀字符集合(默认值:None) argument_default:参数的全局默认值(默认值...一个命名或者一个选项字符串的列表,例如:-f,--foo action:当参数在命令行中出现时使用的动作基本类型 nargs:命令行参数应当消耗的数目 const:被一些 action 和 nargs 选择所需求的常数

58420

会用python把linux命令写一遍的人,进大厂有多容易?

, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误。...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。...2. usage: 显示这个命令用法, 一般用来显示参数的用法 3. description:显示这个命令的帮助信息 4. epilog: 显示命令的帮助信息,位置在参数的下面 argparse.ArgumentParser.add_argument...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。...import os import argparse parser = argparse.ArgumentParser(prog='ls', description='显示文件夹下的文件') # 指定参数

64530

会用python把linux命令写一遍的人,进大厂有多容易?

, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误。...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。...2. usage: 显示这个命令用法, 一般用来显示参数的用法 3. description:显示这个命令的帮助信息 4. epilog: 显示命令的帮助信息,位置在参数的下面 argparse.ArgumentParser.add_argument...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。...import os import argparse parser = argparse.ArgumentParser(prog='ls', description='显示文件夹下的文件') # 指定参数

60020

如何利用Python学习linux命令?

, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误。...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。...2. usage: 显示这个命令用法, 一般用来显示参数的用法 3. description:显示这个命令的帮助信息 4. epilog: 显示命令的帮助信息,位置在参数的下面 argparse.ArgumentParser.add_argument...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。...import os import argparse parser = argparse.ArgumentParser(prog='ls', description='显示文件夹下的文件') # 指定参数

79910

《Python实例》基础之argparse,提供一个友好的接口说明,老大说我做的真好

1、模块介绍 模块的源码位置 lib/argparse,如果你在代码中使用的不是这个位置,说明你导入错了。...argparse 可以让你轻松的编写用户友好的命令行接口, argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...2、来个例子 打开控制台,切换到代码所在的位置,然后输入命令: python ModifyFile.py -h 命令格式:python fileName.py -h python :表示执行python.../usr/bin/env python # encoding: utf-8 """ @Author: 香菜 @time: 2021/8/2 0002 下午 8:02 """ import argparse...5、总结 argparse 的应用场景很明确就是为自己的程序提供命令行接口说明, 这只是入门级别的,如果你想给你的程序更好的参数提示,可以查阅相关文档。

65630

python3 argparse模块

1、定义:argparse是python标准库里面用来处理命令行参数的库 2、命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的 如:[root@openstack...就是ls命令里的一个选项参数 3、使用步骤: (1)import argparse 首先导入模块 (2)parser = argparse.ArgumentParser() 创建一个解析对象...()方法参数须知:一般我们只选择用description prog=None - 程序名 description=None, - help时显示的开始文字 epilog=...,一般写两个,一个短参数,一个长参数 import argparse parser = argparse.ArgumentParser() parser.add_argument('echo')...,之后所有的输入都将作为该位置参数的值;‘+’表示读取至少1个该位置参数。’?’

84350

python3中argparse模块

1、定义:argparse是python标准库里面用来处理命令行参数的库2、命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的...:[root@openstack_1 /]# ls -l # -l 就是ls命令里的一个选项参数 3、使用步骤:(1)import argparse 首先导入模块(2)parser = argparse.ArgumentParser...()方法参数须知:一般我们只选择用description prog=None - 程序名 description=None, - help时显示的开始文字...- 必选,指定参数的形式,一般写两个,一个短参数,一个长参数import argparse parser = argparse.ArgumentParser() parser.add_argument...,之后所有的输入都将作为该位置参数的值;‘+’表示读取至少1个该位置参数。'?'

71110

玩转 Python 命令行:4 大主流工具库的对比

本系列文章默认使用 Python 3 作为解释器进行讲解。...: 命令行程序接受一个位置参数,它能出现多次,且是数字 默认情况下,命令行程序会求出给定的一串数字的最大值 如果指定了选项参数 --sum,那么就会将求出给定的一串数字的和 希望从各个库实现该例子的代码中能进一步体会它们的设计理念...2.1、argparse argparse 的设计理念就是提供给你最细粒度的控制,你需要详细地告诉它参数是选项参数还是位置参数、参数值的类型是什么、该参数的处理动作是怎样的。...你都不需要定义参数类型,fire 会根据输入和参数默认值来自动判断,这无疑进一步简化了实现过程。...结合上面的总结,可以选择出符合使用场景的库,如果几个库都符合,那么就根据你更偏爱的风格来选择。这些库都很优秀,其背后的思想很是值得我们学习和扩展。

1.7K10

用Click编写Python命令行工具

在本教程的最后,你会知道: 为什么click相比于argparse和optparse来说是一个更好的选择 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项 如何通过添加帮助...click vs argparse:一个更好的选择? 你可能正在看上面的代码示例,在想“这些东西是什么意思?”这正是我在使用argparse遇到的一个问题:它不直观,很难阅读。...它是可选的,可以使用示例键作为默认值。 这里是我们目前伦敦的天气,形成Python REPL: ?...我们刚刚做出的更改将会破坏我们的CLI,因为默认API密钥对真实API无效。 该API将返回一个401 UNAUTHORIZED HTTP状态码。 不相信我? 这是证明: ?...以下是你所学到的: 为什么click是一个更好的选择相对argparse和optparse 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项; 如何通过添加帮助

3.3K10

parser.add_argument()用法——命令行选项、参数和子命令解析器

通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。...通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...action - 命令行遇到参数时的动作,默认值是 store。...help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息. metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称...此时即使通过default设置默认参数,也还是会报错。

1.7K20
领券