官网链接:https://docs.python.org/3/library/optparse.html
https://docs.python.orghttps://cdn.jxasp.com:9143/image/2/library/argparse.html
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
help="write report to FILE", metavar="FILE")
(options, args) = parser.parse_args()
print(options,type(options),args,type(args)) #print(type([])) 结果:<class 'list'>
options,是个类,dest是键值对里的键,值是None,args是列表,空
没传参的时候

-f 空格指定字符串,会将它作为dest里filename的值,

我再加一个短横线,结果还是可以的 --f

使用--file 也可以

其它字符串,不在--file后的那个,无论在它前面还是后面,都加进了args列表里。

临时给程序加个-m

也是可以用的

后面再用这个的,被覆盖掉了

代码现在如下,调用它的值

调用它的值,点来调用

| 1 2 3 4 5 6 7 8 9 |
|
这样就可以指定文件做操作,传参中有啥参数也可以做对应参数了。


-h或者--help可以查看帮助信息,指定参数的介绍信息

添加-q参数,多了一组键值对,命令行加上-q值是假,不加也就是默认是真。(自解:可用于某个功能或其它是否开启或其他并给出python教程默认状态)

代码

官网介绍

官网介绍
<yourscript> --file=outfile -q
因此,以下命令行都等效于上面的示例:
<yourscript> -f outfile --quiet <yourscript> --quiet --file outfile <yourscript> -q -foutfile <yourscript> -qfoutfile

官网介绍2
最常见的选项操作是store,它告诉optparse采用下一个参数(或当前参数的其余部分),确保它的类型正确,并将其存储到您选择的目的地。
例如:
parser.add_option("-f", "--file",
action="store", type="string", dest="filename")
模拟传参,假的传参,结果一样


终端上效果一致的传参,不用创建列表,将列表传进去,貌似argv[1:]的参数就是一个列表,默认传递到parse_args方法中,遇到定义的-f之类的,就会将后面那个值存到dest中,作为定义的dest的值,而其它没用add_option的就传到args列表中

不加类型,传递的是字符串。action默认是store,可以不填

要想传递进去是个数字,就要加类型的参数是int

还可以拼接在一起传参

之前的也可以简写:也可以拼在一起传参

选项参数是42 选项卡是-n 这一次,我们将选项参数与选项卡在一起:因为-n42(一个参数)等价于 (两个参数),代码-n 42 传递进的是["-n42"]
-q没有默认值,不传参就是None,传了参数就是false

可以引号引起来当成一个

选项卡刚刚试了试可以是传字母数字字符串,但是-只能加一个字符串,;要想用多个字符串,必须用--添加长字符串

官网帮助信息生成

执行生成帮助代码
定义帮助信息中%default会使用默认的值,%prog代表脚本名字,定义了Usage消息

至此,命令行传参大部分场景可以使用了,其它功能有时间再补充



















