在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能。使用getopt函数可以接受到命令行传入的参数:目前有短选项和长选项两种格式。
短选项格式为"-“加上单个字母选项;长选项为”–"加上一个单词。
实例:
建立一个demo.py文件:
import getopt
import sys
options, args = getopt.getopt(sys.argv[1:], "hu:p:i", ["url=", "path=", "port="])
print(sys.argv)
print(options)
print(args)
在终端中执行命令:
python3 demo.py --url=www.baidu.com -u www.baidu.com -p 88 -i 66 127.0.0.1 --port=88 55 66
得到结果为:
['demo.py', '--url=www.baidu.com', '-u', 'www.baidu.com', '-p', '88', '-i', '66', '127.0.0.1', '--port=88', '55', '66']
这是argv接受到的输入的参数
[('--url', 'www.baidu.com'), ('-u', 'www.baidu.com'), ('-p', '88'), ('-i', '')]
['66', '127.0.0.1', '--port=88', '55', '66']
使用sys.argv[1:]过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。
调用getopt函数。函数返回两个列表:
options 是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串’’。
args 为不属于格式信息的剩余的命令行参数,即不是按照getopt()里面定义的长或短选项字符和附加参数以外的信息。