下面就为您详细讲解“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()
函数用法的详细攻略,希望对您有所帮助。