python——main函数的参数(命令行参数)

import sys

if len(sys.argv) < 4:
    print global()['__doc__'] % local()
    sys.exit(1)
 
  
 
  

可以看出命令行参数是保存在sys.argv里面的,并且是以列表的形式保存的。而且第一个元素是脚本名,不是我们指定的参数。

那么对于需要指定操作,然后再跟参数的命令怎么处理?比如python test.py -i input -o output?


import sys, getopt
 opts, args = getopt.getopt(sys.argv[1:], "d:m:", ["domain", "model"]) 
#当选项表示开关,后面不跟参数时,第二个参数中选项后面不加:,第三个参数对应长选项--version等,这个暂未研究
#返回的参数opts是对应的选项和参数,args暂时不用管
 for op, value in opts:
        if op == '-d' or op == '--domain':
            domain = value
            print domain
        if op == '-m' or op == '--model':
            model = value  


你可能感兴趣的:(python——main函数的参数(命令行参数))