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

时间:2021-05-18 21:28:14
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