Python中getopt()函数用法详解
简介
getopt
是 Python 标准库中的一个模块,它提供了解析命令行参数的功能。可以帮助我们轻松地从命令行中获取参数并进行解析,实现自己定义的功能。
函数签名
getopt.getopt(args, shortopts, longopts=[])
getopt
函数接受三个参数:
args
:要分析的命令行参数,通常为sys.argv[1:]
shortopts
:短格式选项,即单个字母表示的选项longopts
:长格式选项,即单词表示的选项
使用方法
示例一:解析短格式参数和长格式参数
# test.py
import getopt
import sys
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "abc:d:", ["help", "output="])
except getopt.GetoptError as err:
print(str(err))
usage()
sys.exit(2)
output = None
for opt, arg in opts:
if opt == "-a":
print("-a is set")
elif opt == "-b":
print("-b is set")
elif opt == "-c":
print(f"-c is set with {arg}")
elif opt == "-d":
print(f"-d is set with {arg}")
elif opt == "--help":
usage()
sys.exit()
elif opt == "--output":
output = arg
print(f"output: {output}")
print(f"args: {args}")
def usage():
print("usage: test.py [-a] [-b] [-c value] [-d value] [--output file] [--help]")
if __name__ == "__main__":
main()
命令行执行:
python test.py -a -b -c value1 -d value2 --output file.txt arg1 arg2
输出:
-a is set
-b is set
-c is set with value1
-d is set with value2
output: file.txt
args: ['arg1', 'arg2']
示例二:解析短格式参数
# test.py
import getopt
import sys
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
except getopt.GetoptError as e:
print(str(e))
sys.exit(2)
input_file = ""
output_file = ""
for opt, arg in opts:
if opt == "-h":
print("help")
sys.exit()
elif opt == "-i":
input_file = arg
elif opt == "-o":
output_file = arg
print(f"input_file: {input_file}")
print(f"output_file: {output_file}")
if __name__ == '__main__':
main()
命令行执行:
python test.py -i input.txt -o output.txt
输出:
input_file: input.txt
output_file: output.txt
短格式选项说明
:
代表选项后面需要接一个值::
代表选项后面接一个可选值
长格式选项说明
=
代表选项后面需要接一个值
总结
getopt
函数是 Python 中解析命令行参数的常用工具之一。通过学习本文,你可以清楚地了解到该函数的使用方法和基本原理,可以轻松地使用该函数解析命令行参数,完成自己所需的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中getopt()函数用法详解 - Python技术站