python中用命令行运行程序常见情景如下:
$ python test.py arg1 arg2 arg3
获取arg1,arg2,arg3有两种方式:
1.使用sys.argv
sys.argv可以获取[test.py, arg1, arg2, arg3]
2.使用getopt模块
getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数
getopt.getopt 方法:用于解析命令行参数列表,语法格式如下:
getopt.getopt(args, options[, long_options])
args: 要解析的命令行参数列表 ,等于sys.argv
options: 它表示的是命令行参数中的选项,通常是一个字母,就像我们在 Linux 中对于某个命令不熟悉时所使用的帮助选项-h一样。如果说该选项需要一个参数的话,需要在该字母后边加上一个冒号:,表示该选项需要一个参数
long_options: 它是一个可选的参数,表示的是选项的长格式,上边的options是短格式,长格式的选项的参数格式示例为--input=input.txt
该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有'-'或'--'的参数。