python3 getopt用法

匿名 (未验证) 提交于 2019-12-02 22:11:45
python channel_builder.py -s /Users/graypn/ -d /Users/graypn/Documents -m 7 --out=report/xx.html  参数也分长格式和短格式  短格式:-s 长格式:--source    opts, args = getopt.getopt(sys.argv[1:], "hs:d:m:v:p:c:",                             ["help", "src=", "dst=", "major=", "version=", "platform=", "channels="])  这个 opts 是一个字典类型,getopt.getopt(x,y,z) x函数第一个传入参sys.argv[1:],y第二个传段short短数名"hs:d:m:v:p:c:",z第三个是long长参数名["help", "src=", "dst=", "major=", "version=", "platform=", "channels="]  short 用法就是  python   test.py  -h 111 long用法可以2种  --out=res/tt.html  或者直接  --out  res/tt.html 关于第二个参数初学者会很困惑这啥意思: 其实是这样的单独一个字母表示该参数不带值,一个字母加个:比如p:表示该参数后面带值,"hf:-v"也可以写成'-h-f:-v',到底什么意思呢: 

  


C:\Users\Administrator\PycharmProjects\checkTest\src>python xx.py -h
this is --help

C:\Users\Administrator\PycharmProjects\checkTest\src>python xx.py -f
Traceback (most recent call last):
File "xx.py", line 22, in <module>
opts, args = getopt.getopt(sys.argv[1:], '-hf:-v', ['help', 'filename=', 'version'])
File "C:\Python37\lib\getopt.py", line 95, in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
File "C:\Python37\lib\getopt.py", line 199, in do_shorts
opt)

C:\Users\Administrator\PycharmProjects\checkTest\src>python xx.py -h 1000
this is --help

C:\Users\Administrator\PycharmProjects\checkTest\src>python xx.py -f=aaaa.txt
[*] Filename is =aaaa.txt


getopt.GetoptError: option -f requires argument

意思就是你短参数不需要给我指定值,给我我也没发接受处理比如1000短参数给的值1000也没用,长参数是你必须给我值我才可以进行传参

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!