python中getopt()函数用法详解

  • Post category:Python

下面就为您详细讲解“python中getopt()函数用法详解”。

什么是getopt()函数

getopt()函数是Python内置的处理命令行参数的模块,它用于解析Unix风格命令行参数。该函数可以处理两种命令行模式:短选项模式和长选项模式。

getopt()函数常用参数

  • getopt.getopt(args, options[, long_options])
  • args:命令行参数列表。
  • options:短选项列表。
  • long_options:长选项列表。

短选项模式

import getopt
import sys

def main(argv):
    inputfile = ''
    outputfile = ''
    try:
        opts, args = getopt.getopt(argv, "hi:o:", ["ifile=", "ofile="])
    except getopt.GetoptError:
        print('test.py -i <inputfile> -o <outputfile>')
        sys.exit(2)
    for opt, arg in opts:
        if opt == '-h':
            print('test.py -i <inputfile> -o <outputfile>')
            sys.exit()
        elif opt in ("-i", "--ifile"):
            inputfile = arg
        elif opt in ("-o", "--ofile"):
            outputfile = arg
    print('输入的文件为:', inputfile)
    print('输出的文件为:', outputfile)

if __name__ == "__main__":
    main(sys.argv[1:])

以上代码中,我们定义了两个参数:-i-o。参数-i表示输入文件名,参数-o表示输出文件名。

在命令行中输入:

$ python test.py -i inputfile.txt -o outputfile.txt

输出:

输入的文件为: inputfile.txt
输出的文件为: outputfile.txt

如果我们运行的命令行参数不正确,我们就会得到一条错误提示信息:

$ python test.py -i inputfile.txt -o
test.py -i <inputfile> -o <outputfile>

长选项模式

import getopt
import sys

def main(argv):
    inputfile = ''
    outputfile = ''
    try:
        opts, args = getopt.getopt(argv, "hi:o:", ["help", "input=", "output="])
    except getopt.GetoptError:
        print('test.py --input <inputfile> --output <outputfile>')
        sys.exit(2)
    for opt, arg in opts:
        if opt == '--help':
            print('test.py --input <inputfile> --output <outputfile>')
            sys.exit()
        elif opt in ("-i", "--input"):
            inputfile = arg
        elif opt in ("-o", "--output"):
            outputfile = arg
    print('输入的文件为:', inputfile)
    print('输出的文件为:', outputfile)

if __name__ == "__main__":
    main(sys.argv[1:])

在以上代码中,我们使用了长选项模式,参数--input表示输入文件名,参数--output表示输出文件名。

在命令行中输入:

$ python test.py --input=inputfile.txt --output=outputfile.txt

输出:

输入的文件为: inputfile.txt
输出的文件为: outputfile.txt

如果我们输入的命令行参数不正确,我们就会得到一条错误提示信息:

$ python test.py --input=inputfile.txt --
test.py -i <inputfile> -o <outputfile>

以上就是关于getopt()函数用法的详细攻略,希望对您有所帮助。