首页
学习
活动
专区
圈层
工具
发布

python argparse使用

在不同环境部署项目时,由于不同的配置,部署时难免会改变部署的方式,而且基本使用版本管理工具,比如git或svn进行下拉代码部署项目时,尽可能的不变动代码(如果变动代码,下次下拉代码前必须要使用git...解决方案之一是 在启动命令时添加参数,通过这个参数指定不同的配置文件从而达到部署不同环境的效果 使用的包为 argparse 。如下为使用案例。...import sys parser = argparse.ArgumentParser(prog="argparse test", usage='python start.py -i develop...type:入参值类型 default:默认值 choices:参数值范围; 使用案例:python argparse_rgc.py -a develop...help="""args:设置值的个数,可以指定值的类型,并放到一个list中; 使用案例:python argparse_rgc.py -c 1

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python3 使用argparse更

    问题与现状 通常情况下,我们都会使用sys.argv[n]这样的手段来获取python脚本的输入参数。...这样做的缺点如下: 1 参数输入和获取必须严格按照顺序 2 在获取参数的同时需要写一点额外的代码对输入参数进行简单的合法性检查 3 在输入参数过多(通常情况下项目构建时入参很多,尤其是当各个脚本解耦充分的情况下...)导致向其他函数传递的参数过多,而通常一个函数的参数最好不要超过7个 4 如果该python脚本是对外发布给别人用的,则用户不清楚该脚本如何使用,必须在readme文档说明,而每次查看readme文档对用户来说过于繁琐...---- 用argparse优雅的组织输入参数 优势: 1 不需要安装,直接import argparse即可 2 使用简单,基本用法如下: def get_args(): parser = argparse.ArgumentParser...,可以通过默认的--help查看脚本的简单使用方法 python argparse_test.py --help usage: argparse_test.py [-h] [--num1 NUM1] [

    58310

    python中的argparse

    argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。...最基础的,从一个最简单的程序开始: import argparse parser = argparse.ArgumentParser() 运行结果: $ python 1.py $ 定位参数: import...当然也可以像上面一样了; 参数冲突: 迄今为止,我们已经使用到了[argparse.ArgumentParser][6]的两个方法,来看看他的另一个方法add_mutually_exclusive_group...下面来修改下程序以对这个新方法有更多的了解:我们将加入参数--quiet,它和参数--verbose冲突,不能同时指定: 1 import argparse 2 parser = argparse.ArgumentParser...-v或者-q,但是不能同时使用。

    1.2K30

    基于迭代单元的恢复余数开方器基于迭代单元的恢复余数开方器

    基于迭代单元的恢复余数开方器 基本算法 该开方器的算法与“手算”(以前并不知道开方还有这种手算的方法)算法相似,使用迭代解决,文字描述如下 将0为余数的初值a,0作为结果初值b 将被开方数前两位{I(...若前两位大,则{I(2m + 1),I(2m)} - 01为输出余数(a(m)),输出结果1(b(m)),否则{I(2m + 1),I(2m)}为输出余数(a(m)),输出结果0(b(m)) 将被开方数的从高位数第...3,4位{I(2m - 1),I(2m - 2)}取出,比较{a(m),I(2m - 1),I(2m - 2)}和{b(m),2'b01}的大小,若前一项大,则输出余数a(m - 1)为前一项减后一项,...直到计算完被开方数结束 迭代单元 算法 迭代单元的算法比较简单,描述如下: 组合输入余数和当前开方数的两位{b,I(i),I(i - 1)},组合输入结果和01为{a,2'b01} 比较大小,若组合余数大则输出余数为组合余数减去组合结果...,等待完成,完成后取结果和余数看是否能恢复出正确的输入 module tb_square ( ); parameter WIDTH = 4; logic clk; // Clock logic

    1.5K60

    argparse 的高级用法

    Python 里的 argparse 大家都不陌生,是用来解析命令行参数的标准库,它的用法大致是这样: import argparse parser = argparse.ArgumentParser...然而当我更深入地写下去,试图加一些更复杂的功能时,我发现了 click 的不足之处,并促使我最终选择了 argparse,到目前看来 argparse 提供的能力能很好地胜任工作。...argparse 的进击 argparse 的子命令 argparse 也是支持子命令的,而且子命令也可有自己的子命令。...那么我们可以在匹配到这个子命令时,把它的处理方法保存到解析结果里,就可以了。...PDM 就是使用了这个方法实现了可扩展的命令行解析,完整的命令类在 pdm/cli/commands,命令解析的组装过程在 pdm/core.py 可以看到。

    58040

    python的argparse模块

    argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。...argparse使用比较简单,常用的功能可能较快地实现出来,下面我分几个步骤,以Python3为例,逐渐递增地讲述argparse的用法。1....的方式得到我们设置的--name参数的值,可以看到这里argparse默认的参数名就是--name形式里面--后面的字符串。...help参数和很有必要的,不然使用者不太明白每个参数的含义,增大了使用难度。...8. nargs: 设置参数在使用可以提供的个数使用方式如下:parser.add_argument('-name', nargs=x)其中x的候选值和含义如下:值 含义N 参数的绝对个数(例如:

    1.5K20

    Python | 使用argparse解析命令行参数

    今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。...假如我们是看其他大神的代码,我们想要知道运行的时候需要传入什么参数,以及每个参数代表什么含义就做不到了。 为了解决这个问题,我们需要使用封装更多功能的工具,也是本篇文章的核心——argparse。...基本用法 argparse是Python当中的一个库,我们需要先import一下,这个库我没记错应该是Python自带的,也不需要安装,我们直接就可以使用。...如果我们也希望help能够提示我们参数的作用怎么办呢? 我们可以通过help参数传入我们希望打印出来的提示语,这样方便使用者在使用的时候了解参数的情况。...1,当我们运行的时候,如果不填test这个参数的话,那么程序就会使用它的默认值也就是1。

    1.1K10

    Python | 使用argparse解析命令行参数

    今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse。...假如我们是看其他大神的代码,我们想要知道运行的时候需要传入什么参数,以及每个参数代表什么含义就做不到了。 为了解决这个问题,我们需要使用封装更多功能的工具,也是本篇文章的核心——argparse。...基本用法 argparse是Python当中的一个库,我们需要先import一下,这个库我没记错应该是Python自带的,也不需要安装,我们直接就可以使用。...如果我们也希望help能够提示我们参数的作用怎么办呢? 我们可以通过help参数传入我们希望打印出来的提示语,这样方便使用者在使用的时候了解参数的情况。...1,当我们运行的时候,如果不填test这个参数的话,那么程序就会使用它的默认值也就是1。

    2.4K10

    Verilog 中负数的 % 取余数运算、C语言、Matlab各自的取余数运算【%】【mod】【rem】

    C语言的 %,求余数: 和 Verilog 一样,余数符号跟随被除数的符号位。 先去掉符号取余数,被除数是正数,则余数为正数;被除数为负数,则余数为负数。 ?...Matlab 的 rem,求余数: r = rem(a, b),返回的 r 是 a 除以 b 后的余数。 该结果与 Verilog 和 C 语言的 % 结果一致: 余数符号跟随被除数的符号位。...余数符号跟随除数的符号位。 ? mod 和 rem 的区别 除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 计算不同的结果。 mod 函数生成一个为零或与除数具有相同符号的结果。...rem 函数生成一个为零或与被除数具有相同符号的结果。 另一个差别是当除数为零时的约定。...例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。

    13.1K31

    Python 命令行之旅:使用 argparse 实现 git 命令

    本文将以我们日常工作中最常见的 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用的命令行程序。 本系列文章默认使用 Python 3 作为解释器进行讲解。...若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ git 常用命令 大家不妨回忆一下,平时最常使用 git 子命令都有哪些?...然后使用如下命令提交信息: git commit -m "your commit message" 最后使用如下命令将提交推送到远程仓库: git push 我们将使用 argparse 和 gitpython...argparse 要实现子命令,那么之前介绍到的 嵌套解析器 必不可少 当用户键入子命令时,子命令所对应的子解析器需要作出响应,那么需要用到子解析器的 set_defaults 功能 针对 git add...小结 本文简单介绍了日常工作中常用的 git 命令,然后提出实现它的思路,最终一步步地使用 argparse 和 gitpython 实现了 git 程序。是不是很有成就感呢?

    94020

    一个余数问题的思考

    这个问题倒是有一个简便方法,由于余数恰好和除数只差1,所以如果在被除数上加1,那么它就可以同时被2、3、4整除,所以这个数最小应该是2、3、4的最小公倍数再减1,所以应该是23 。...回到我们这道题目来说,由于余数每次都不一样,所以没办法这么做。不过我想了想,能不能通过加一个数,让余数都变得相同。...由于我数学不好,也不懂数论这些专业知识,所以直接用代码模拟一下,发现确实可以得到一个数,让答案加上这个数以后,所有余数都相同。这个数是1071,这时候余数都是0 。Kotlin代码如下。...答案加上1071之后,可以被2-9的所有数整除,所以2-9的最小公倍数再减去1071,就是我们要求的答案。...而2-9的最小公倍数也就是5-9的最小公倍数,是2520,再减去前面的1071,正好就是最一开始我们得到的答案1449! 如果大家有更好的思路,也可以告诉我,让我们互相学习,共同进步!

    1.1K90

    JS取整数、取余数的方法

    方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI.../2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3 ceil(...1 2 3 log(x) 返回数的自然对数(底为e) 1 2 3 max(x,y) 返回 x 和 y 中的最高值 1 2 3 min(x,y) 返回 x 和 y 中的最低值 1 2 3 pow(...x,y) 返回 x 的 y 次幂 1 2 3 random() 返回 0 ~ 1 之间的随机数 1 2 3 round(x) 把一个数四舍五入为最接近的整数 1 2 3 sin(x) 返回数的正弦...1 2 3 sqrt(x) 返回数的平方根 1 2 3 tan(x) 返回一个角的正切 1 2 3 toSource() 代表对象的源代码 1 4 – valueOf() 返回一个 Math

    14K20

    基于迭代单元的不恢复余数开方器基于迭代单元的不恢复余数开方器

    基于迭代单元的不恢复余数开方器 基本算法 与恢复余数开方器类似,不恢复余数开方器也是通过迭代完成运算的,基本算法的伪代码如下所示 Ra = 被开方数(位宽2W) Re = 余数(初值为0) Dout =...Re[MSB]} } 迭代单元 基本算法 迭代单元的基本算法即基本算法中for循环包裹的部分: input Re = 上一余数 input Dout = 上一结果 if(Re > 0) { Re...Re[MSB]} output 本次余数 = Re output 本次结果 = Dout RTL代码 module norestore_square_cell #( parameter WIDTH...square[0].this_dout; // assign remainder = square[0].remainder_dout; endmodule TestBench 由于本算法无法获得正确余数...,在验证时,计算输出数据dout的平方和输出数据加1dout + 1的平方,若输入在这两个数之间的区域,判定结果正确 module tb_square ( ); parameter WIDTH = 4

    1.4K80
    领券