sys. argv
Python 中使用段参数可使用 sys.argv
获取。
import sys
# 获取所有参数,以列表形式返回
sys.argv
# 第一个为脚本名称
sys.argv[0]
# 参数列表
sys.argv[1:]
# 传递参数
scr.py 42 immwind
getopt
getopt 支持参数模式为短选项 -
和长选项 --
模式。
- 语法:
getopt.getopt (args, options='', long_options=[])
- 参数说明
args
: 要解析的参数列表(一般为 args 的值)options
: 短选项,传递字符串[long_options]
: 长选项,传递列表
- 返回值
opts
: 由元组组成的列表,元组中的值由参数和对应值组成;args
: 其他参数
短选项
import sys
from getopt import getopt
# 先获取参数
argv = sys.argv[1:]
opts, args = getopt(argv, ab)
for opt, arg in opts:
if opt == '-a': # 判断是否为指定选项
print(arg) # 打印指定值
elif opt == '-b':
print(arg)
# 调用方式
test -a 1 -b 2
长选项
import sys
from getopt import getopt
# 先获取参数
argv = sys.argv[1:]
# 短选项的值可不传递
opts, args = getopt(argv, '', ['abc='], '[def=]')
for opt, arg in opts:
if opt == '-abc':
print(arg)
elif opt == '-def':
print(arg)
# 调用方式
test.py --abc 123 --def 456
# 选项会自动补全为全称,所以下面的方法也是一样
test.py --a 123 --de 456
长选项自动补全如果有多个首字母一样,值会被覆盖。