sys.argv
sys.argv
可以获取命令行中输入的参数。- 输出的第一个元素,即
argv[0]
,永远是文件名本身。 - 一般用
argv[1:]
来调用输入参数。
from sys import argv
print(argv)
运行结果:
$ python test.py
['test.py']
$ python test.py abc
['test.py', 'abc']
$ python test.py abc 12345
['test.py', 'abc', '12345']
getopt
getopt
是用来处理命令行参数的包,用于获取命令行选项和参数。支持短选项模式(-
)和长选项模式(--
)
语法格式:
getopt.getopt(args, options[, long_options])
方法参数说明:
args
: 要解析的命令行参数列表。options
: 以字符串的格式定义,options 后的冒号 : 表示如果设置该选项,必须有附加的参数,否则就不附加参数。long_options
: 以列表的格式定义,long_options 后的等号 = 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有-
或--
的参数。
短选项模式(-)
import getopt
from sys import argv
opts,args = getopt.getopt(argv[1:],'ti:o:')
print(opts,args)
以上代码给了t
,i
和o
三个短选项。其中i
和o
必须有附加参数才生效。
运行结果:
# 不输入参数
$ python test.py
[] []
# 不设定选项的参数
$ python test.py abc
[] ['abc']
# 包含选项
$ python test.py -o abc -i 123
[('-o',