1. 简单的写法:
通过导入模块sys
import sys
if __name__ == '__main__':
argc = len(sys.argv)
arg0 = sys.argv[0]
#...
2. 稍微复杂一点的参数可以使用getopt模块:
import sys
import getopt
if __name__ == '__main__':
opt,args = getopt.getopt(sys.argv[1:], "h:p:f:i:t:", ["help"])
host = ""
port = 0
file = ""
index = ""
type_ = ""
for op, val in opt:
if op == '-h':
host = val
elif op == '-p':
port = val
elif op == '-f':
file = val
elif op == '-i':
index = val
elif op == '-t':
type_ = val
elif op == '--help':
Usage(sys.argv[0])
if (host=="" or file=="" or index=="" or type_==""):
Usage(sys.argv[0])
sys.exit()
sys.argv[1:] 表示从第1个参数开始解析,不包括第0个参数(脚本路径)。
"h:p:f:i:t:" 表示有5个参数,参数使用短标,冒号‘:’ 表示这个参数后面有值,不是一个开关。如果不带冒号则表示该参数不带值。
后面的["help"]表示支持长参数“--help”.