当前位置: 首页 > news >正文

徐州城乡建设招投标网站网站导航栏按钮

徐州城乡建设招投标网站,网站导航栏按钮,中文域名注册查询,凡客登录入口argparse是一个Python模块#xff1a;命令行选项、参数和子命令解析器。argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义了所需的参数#xff0c;而 argparse 将找出如何从 sys.argv #xff08;命令行#xff09;中解析这些参数。argparse 模块还会自动生成…        argparse是一个Python模块命令行选项、参数和子命令解析器。argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义了所需的参数而 argparse 将找出如何从 sys.argv 命令行中解析这些参数。argparse 模块还会自动生成帮助和使用消息并在用户为程序提供无效参数时发出错误。 1 使用流程 1、 创建一个解析器——创建 ArgumentParser() 对象         使用 argparse 的第一步是创建一个 ArgumentParser 对象示例 parser argparse.ArgumentParser(descriptionProcess some integers.)ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。 class argparse.ArgumentParser( progNone, usageNone, descriptionNone, epilogNone, parents[], formatter_classargparse.HelpFormatter, prefix_chars-, fromfile_prefix_charsNone, argument_defaultNone, conflict_handlererror, add_helpTrue, allow_abbrevTrue)prog - 程序的名称默认sys.argv[0]usage - 描述程序用途的字符串默认值从添加到解析器的参数生成description - 在参数帮助文档之前显示的文本默认值无epilog - 在参数帮助文档之后显示的文本默认值无parents - 一个 ArgumentParser 对象的列表它们的参数也应包含在内formatter_class - 用于自定义帮助文档输出格式的类prefix_chars - 可选参数的前缀字符集合默认值’-’fromfile_prefix_chars - 当需要从文件中读取其他参数时用于标识文件名的前缀字符集合默认值Noneargument_default - 参数的全局默认值默认值 Noneconflict_handler - 解决冲突选项的策略通常是不必要的add_help - 为解析器添加一个 -h/--help 选项默认值 Trueallow_abbrev - 如果缩写是无歧义的则允许缩写长选项 默认值True 2、添加参数——调用 add_argument() 方法添加参数 给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。例如 parser.add_argument(integers, metavarN, typeint, nargs,helpan integer for the accumulator) parser.add_argument(--sum, destaccumulate, actionstore_const,constsum, defaultmax,helpsum the integers (default: find the max))add_argument() 方法定义如何解析命令行参数 ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])name or flags - 选项字符串的名字或者列表例如 foo 或者 -f, --foo。action - 命令行遇到参数时的动作默认值是 store。 – store_const表示赋值为const– append将遇到的值存储成列表也就是如果参数重复则会保存多个值;– append_const将参数规范中定义的一个值保存到一个列表– count存储遇到的次数此外也可以继承 argparse.Action 自定义参数解析 nargs - 应该读取的命令行参数个数可以是 具体的数字或者是?号当不指定值时对于 Positional argument 使用 default对于 Optional argument 使用 const或者是 * 号表示 0 或多个参数或者是 号表示 1 或多个参数。 const - action 和 nargs 所需要的常量值。default - 不指定参数时的默认值。type - 命令行参数应该被转换成的类型。choices - 参数可允许的值的一个容器。required - 可选参数是否可以省略 (仅针对可选参数)。help - 参数的帮助信息当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.metavar - 在 usage 说明中的参数名称对于必选参数默认就是参数名称对于可选参数默认是全大写的参数名称.dest - 解析后的参数名称默认情况下对于可选参数选取最长的名称中划线转换为下划线. 3、解析参数——使用 parse_args() 解析添加的参数 ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行把每个参数转换为适当的类型然后调用相应的操作。在大多数情况下这意味着一个简单的 Namespace 对象将从命令行解析出的属性构建 parser.parse_args([--sum, 7, -1, 42]) Namespace(accumulatebuilt-in function sum, integers[7, -1, 42])在脚本中通常 parse_args() 会被不带参数调用而 ArgumentParser 将自动从 sys.argv 中确定命令行参数。 2 结果测试 import argparseparser argparse.ArgumentParser(descriptionModel parameter settings) parser.add_argument(-s, --sparse, destsparse, actionstore_true, defaultFalse, helpGAT with sparse version or not.) parser.add_argument(-e, --epoch, destepoch, typeint, default40, help# of epoch) parser.add_argument(-b, --batch_size, destbatch_size, typeint, default128, help# images in batch) parser.add_argument(-u, --use_gpu, destuse_gpu, typeint, default1, helpgpu flag, 1 for GPU and 0 for CPU) parser.add_argument(-l, --lr, destlr, typefloat, default0.0001, helpinitial learning rate for adam) parser.add_argument(-c, --C, destC, defaultResnet, helpchoose model)args parser.parse_args()print(args.sparse) # print(args[sparse]) 也可以 print(args.epoch) print(args.batch_size) print(args.use_gpu) print(args.lr) print(args.C)显示帮助文档 输错命令会告诉你usage用法 使用命令修改参数 actionstore_true’ 的使用说明 action 命令行遇到参数时的动作默认值是 store。也就是说action‘store_true’只要运行时该变量有传参就将该变量设为True。 3 补充内容 parse_args() 报错解决 error: the following arguments are required: xxx usage: test.py [-h] xxx test.py: error: the following arguments are required: xxx原因 args 分为可选参数用–指定和必选参数不加–指定。如果你定义参数xxx时没有用–指定那么该参数为需要在命令行内手动指定。此时即使通过default设置默认参数也还是会报错。 使用互斥参数——参考代码中的注释和运行结果 import math import argparse parser argparse.ArgumentParser(descriptionCalculate volume of a cylinder) parser.add_argument(-r, --radius, typeint, metavar, requiredTrue, helpRadius of cylinder) parser.add_argument(-H, --height, typeint, metavar, requiredTrue, helpHeight of cylinder) # 添加互斥组 group parser.add_mutually_exclusive_group() # 给互斥组添加两个参数 # 给参数的action属性赋值store_true程序默认为false,当你执行这个命令的时候默认值被激活成True group.add_argument(-q, --quiet, actionstore_true, helpPrint quiet) group.add_argument(-v, --verbose, actionstore_true, helpPrint verbose) args parser.parse_args() def cylinder_volume(radius, height):vol (math.pi) * (radius**2) * (height) # 体积公式return vol if __name__ __main__:volume cylinder_volume(args.radius, args.height)# 互斥参数if args.quiet:print(volume)elif args.verbose:print(Volume of a Cylinder with radius %s and height %s is %s % (args.radius, args.height, volume))else:print(Volume of Cylinder %s % volume)# 这就是互斥参数如何工作的你不能同时执行两个命令你可以执行一个所以和互斥组里的两个参数交互时你只能# 执行quiet和verbose中的一个或者是都不执行按照默认计划来# 使用 python test_argparse.py -r 2 -H 4# python test_argparse.py -r 2 -H 4 -v# python test_argparse.py -r 2 -H 4 -qargparse还支持子命令使得你可以更好地组织和管理不同功能的命令行工具。 import argparsedef main():parser argparse.ArgumentParser(description一个命令行解析器)parser.add_argument(input_file, help输入文件路径)parser.add_argument(-o, --output, help输出文件路径)parser.add_argument(--count, typeint, help一个整数参数)parser.add_argument(--threshold, typefloat, help一个浮点数参数)subparsers parser.add_subparsers(title子命令, destsubcommand)# 子命令1subparser1 subparsers.add_parser(command1, help执行命令1)subparser1.add_argument(--option1, help命令1的选项)# 子命令2subparser2 subparsers.add_parser(command2, help执行命令2)subparser2.add_argument(--option2, help命令2的选项)args parser.parse_args()if hasattr(args, subcommand):if args.subcommand command1:print(f执行命令1选项: {args.option1})elif args.subcommand command2:print(f执行命令2选项: {args.option2})else:print(f输入文件路径: {args.input_file})print(f输出文件路径: {args.output})print(f整数参数: {args.count})print(f浮点数参数: {args.threshold})if __name__ __main__:main()参考 argparse 教程https://docs.python.org/zh-cn/3/howto/argparse.htmlPython之使用argparse在命令行读取文件https://blog.csdn.net/MilkLeong/article/details/115639740
http://www.w-s-a.com/news/292338/

相关文章:

  • 咸宁做网站的公司那家便宜福建建设注册管理中心网站
  • 网站建设工作汇报黑科技广告推广神器
  • 淘宝做首页热点的什么网站徐州建设安全监督网站
  • 正规的镇江网站建设广州有什么好玩的东西
  • 丹阳网站设计公司网站开发 0755
  • 百度网页版浏览器网址找文网优化的技术团队
  • 信息网站怎么做做儿童网站赚钱吗
  • 帝国cms 网站迁移个人网站备案备注
  • 青岛做网站推广怎样做网站才不能被攻破
  • 使用网站模板快速建站教案杂志wordpress主题 无限加载
  • 南宁南宁做网站南安网络推广
  • 旌阳移动网站建设微网站 杭州
  • 合肥网站开发如何用VS2017做网站
  • 网站 制作公司福州企业建站软件
  • 网站推广主要方法一流的盘锦网站建设
  • 给个网站好人有好报2021东莞专业网站营销
  • 中国网站优化哪家好制作网站页面
  • 网站站内优化度娘网站灯笼要咋做呢
  • 怎么制作一个简单的网站七牛云做网站
  • 厦门建网站哪家好求网站建设合伙人
  • 营销型网站制作步骤五个宁波依众网络科技有限公司
  • 外贸响应式网站建设临清建设局网站
  • 手机怎样使用域名访问网站个人做旅游网站的意义
  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计
  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发