python3 getopt用法

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也没用,长参数是你必须给我值我才可以进行传参

猜你喜欢

转载自www.cnblogs.com/SunshineKimi/p/10903421.html
今日推荐