Python 标准库

args

2022-03-27

import::

doc::


sys. argv

^8a1842

[[Python]] 中使用段参数可使用 sys.argv 获取。

1
import sys
2
3
# 获取所有参数,以列表形式返回
4
sys.argv
5
6
# 第一个为脚本名称
7
sys.argv[0]
8
9
# 参数列表
10
sys.argv[1:]
11
12
# 传递参数
13
scr.py 42 immwind

getopt

getopt 支持参数模式为短选项 - 和长选项 -- 模式。

  • 语法:getopt.getopt (args, options='', long_options=[])
  • 参数说明
    • args : 要解析的参数列表(一般为 [[sys]] 的值)
    • options : 短选项,传递字符串
    • [long_options] : 长选项,传递列表
  • 返回值
    • opts: 由元组组成的列表,元组中的值由参数和对应值组成;
    • args: 其他参数

短选项

1
import sys
2
from getopt import getopt
3
4
# 先获取参数
5
argv = sys.argv[1:]
6
7
opts, args = getopt(argv, ab)
8
9
for opt, arg in opts:
10
if opt == '-a': # 判断是否为指定选项
11
print(arg) # 打印指定值
12
elif opt == '-b':
13
print(arg)
14
15
# 调用方式
16
test -a 1 -b 2

长选项

1
import sys
2
from getopt import getopt
3
4
# 先获取参数
5
argv = sys.argv[1:]
6
# 短选项的值可不传递
7
opts, args = getopt(argv, '', ['abc='], '[def=]')
8
9
for opt, arg in opts:
10
if opt == '-abc':
11
print(arg)
12
elif opt == '-def':
13
print(arg)
14
15
# 调用方式
16
test.py --abc 123 --def 456
17
# 选项会自动补全为全称,所以下面的方法也是一样
18
test.py --a 123 --de 456

长选项自动补全如果有多个首字母一样,值会被覆盖。

click

[[click]]