【Python3】命令行参数解析

sys 库用于读取命令行参数

主要是使用 getopt 模块来对输入的命令行参数进行解析

sys 库测试

测试代码:

1
2
3
# -*- coding: utf-8 -*-
import sys
print(sys.argv)

测试结果:

1
2
test ✗ python3 ./test.py -o abc.txt
['/root/test/test.py', '-o', 'abc.txt']

getopt 库测试

测试代码:

1
2
3
4
5
# -*- coding: utf-8 -*-
import getopt, sys
opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])
print(opts)
print(args)

测试结果:

1
2
3
test ✗ python3 ./test.py --output a -o b -h asdasd
[('--output', 'a'), ('-o', 'b'), ('-h', '')]
['asdasd']

可以看到 getopt 库解析了 --output-o 还有 -h 三个参数

asdasd 虽然跟在 -h 后面,但是代码中没有在 h 后面加 :

所以这个参数不会捕获跟在后面的参数

同理使用 --help 也不能添加参数,因为没有在 help 后面加 =

【Python3】命令行参数解析

https://biteax.com/60b247e6.html

作者

石志超

发布于

2021-12-08

更新于

2023-09-27

许可协议