当前位置:网站首页 > R语言数据分析 > 正文

argparse(argparse怎么读)



大家好,又见面了,我是全栈君。

在多个文件或者不同语言协同的项目中,脚本经常需要从命令行直接读取参数。万能的python就自带了使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。

如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用将脚本后的参数依次读取(读进来的默认是字符串格式)。比如如下名为test.py的脚本:

在shell脚本中运行可以得到的结果。 1) 一般形式 但是大多数情况下,脚本很可能需要多个参数,而且每次参数的类型用处各不相同,那么这个时候在参数前添加标签表明参数的类型和用途便十分有用,而利用argparse模块可以很方便得实现这一目的。 同样用名为test.py的脚本举个栗子:

运行后面跟了–verbose/-v的时候会输出前者,如果什么都没有会输出后者。如果输入了–verbose/-v以外的参数则会报错:unrecognized arguments 稍微提一下,action参数表示值赋予键的方式,这里用到的是bool类型;如果是’count’表示将–verbose标签出现的次数作为verbose的值;’append’表示将每次出现的该便签后的值都存入同一个数组再赋值。(嘛,一般后面两种用的比较少就不多说了) PS:–help标签在使用argparse模块时会自动创建,因此一般情况不需要我们主动定义帮助信息。

2) 必需参数 这种模式用于确保某些必需的参数有输入。 required标签就是说–verbose参数是必需的,并且类型为int,输入别的类型会报错。

3)位置参数(positional arguments) 位置参数与sys.argv调用比较像,参数没有显式的–xxx或者-xxx标签,因此调用属性也与sys.argv相同。

输入则会输出 此外,可以用nargs参数来限定输入的位置参数的个数,默认为1。当然nargs参数也可用于普通带标签的参数。 表示脚本可以读入两个整数赋予num键(此时的值为2个整数的数组)。nargs还可以’*’用来表示如果有该位置参数输入的话,之后所有的输入都将作为该位置参数的值;‘+’表示读取至少1个该位置参数。’?’表示该位置参数要么没有,要么就只要一个。(PS:跟正则表达式的符号用途一致。)比如用:

就可以运行 由于没有标签,所以用位置参数的时候需要比较小心。

4)输入类型 之前已经提到了用type参数就可以指定输入的参数类型。而这个type类型还可以表示文件操作的类型从而直接进行文件的读写操作。

5)参数默认值 一般情况下会设置一些默认参数从而不需要每次输入某些不需要变动的参数,利用default参数即可实现。

这个时候至直接运行就能得到而不需要输入文件名了。

6)候选参数选择 表示该参数能接受的值只能来自某几个值候选值中,除此以外会报错,用choices参数即可。比如:

参考:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108703.html原文链接:https://javaforall.cn

到此这篇argparse(argparse怎么读)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • auto不可用(不能autowired)2025-11-27 09:54:06
  • entorevolution翻译(enrolment翻译)2025-11-27 09:54:06
  • docker里启动docker(docker里启动jar包)2025-11-27 09:54:06
  • docker run hello-world启动不了(docker.run)2025-11-27 09:54:06
  • redhat Linux系统支持的文件类型(redhatlinux系统支持的文件类型有哪些)2025-11-27 09:54:06
  • qpainter绘制文字(qpainter绘制文字内存泄露)2025-11-27 09:54:06
  • raise过去式和过去分词(raise过去式和过去分词的区别)2025-11-27 09:54:06
  • hrnetone深圳(hrnetone深圳怎么样)2025-11-27 09:54:06
  • unsigned char 和char的区别(unsigned char和signed char的区别)2025-11-27 09:54:06
  • swagger2作用(swagger有什么作用)2025-11-27 09:54:06
  • 全屏图片