乐趣区

关于python:python中getopt模块是什么

1、Getopt 模块是专门解决命令行参数的模块,用于获取命令行选项和参数。命令行选项使程序参数更加灵便,反对短选项模式 (-) 和长选项模式(-)。

2、该模块提供了两种办法和一种异样解决来剖析命令行参数。

实例

import sys
import getopt
 
 
def main(argv):
    input_file = ""output_file =""
    # "hi:o:": 短格局剖析串, h 前面没有冒号, 示意前面不带参数; i 和 o 前面带有冒号, 示意前面带参数
    # ["help", "input_file=", "output_file="]: 长格局剖析串列表, help 前面没有等号, 示意前面不带参数; input_file 和 output_file 前面带冒号, 示意前面带参数
    # 返回值包含 `opts` 和 `args`, opts 是以元组为元素的列表, 每个元组的模式为: (选项, 附加参数),如: ('-i', 'test.png');
    # args 是个列表,其中的元素是那些不含 '-' 或 '--' 的参数
    opts, args = getopt.getopt(argv[1:], "hi:o:", ["help", "input_file=", "output_file="])
 
    for opt, arg in opts:
        if opt in ("-h", "--help"):
            print('script_2.py -i <input_file> -o <output_file>')
            print('or: test_arg.py --input_file=<input_file> --output_file=<output_file>')
            sys.exit()
        elif opt in ("-i", "--input_file"):
            input_file = arg
        elif opt in ("-o", "--output_file"):
            output_file = arg
    print('输出文件为:', input_file)
    print('输入文件为:', output_file)
 
    # 打印不含 '-' 或 '--' 的参数
    for i in range(0, len(args)):
        print('不含'-'或'--'的参数 %s 为:%s' % (i + 1, args[i]))
        
if __name__ == "__main__":
    main(sys.argv)

以上就是 python 中 getopt 模块的介绍,心愿对大家有所帮忙。更多 Python 学习指路:python 基础教程

退出移动版