使用add_argument()函数解析命令行参数的方法
add_argument()函数是Python中argparse模块中的一个方法,用于解析命令行参数。该方法可以在命令行中指定某个参数,并将该参数的值赋给对应的变量。
下面是使用add_argument()函数解析命令行参数的方法及示例:
1. 导入argparse模块
首先需要导入argparse模块,通过import语句导入该模块。
import argparse
2. 创建ArgumentParser对象
使用ArgumentParser类创建一个解析器对象,该对象将负责处理命令行参数。
parser = argparse.ArgumentParser(description='This is a command line argument parser.')
3. 添加命令行参数
使用add_argument()方法向解析器中添加命令行参数,并定义参数的相关属性。
parser.add_argument('input_file', help='input file path')
parser.add_argument('-o', '--output_file', help='output file path')
parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode')
parser.add_argument('-n', '--num_iterations', type=int, default=10, help='number of iterations')
在上面的示例中,给解析器对象parser添加了四个命令行参数:
- 'input_file'是一个必需参数,对应着一个输入文件的路径,调用时不用加'-'
- '-o'和'--output_file'是可选参数,对应着一个输出文件的路径,调用时可以用'-o'或'--output_file'指定
- '-v'和'--verbose'是一个开关参数,在命令行中加上'-v'或'--verbose'时,verbose参数值为True
- '-n'和'--num_iterations'是一个整数参数,默认值为10
4. 解析命令行参数
使用parse_args()方法解析命令行参数,并将参数的值赋给相应的变量。
args = parser.parse_args()
5. 使用解析后的参数
使用解析后的参数进行相应的操作。
if args.verbose:
print('Verbose mode is on.')
if args.output_file:
print('Output file path is:', args.output_file)
在上面的示例中,如果命令行中加上-v或--verbose参数,则会打印'Verbose mode is on.';如果加上-o或者--output_file参数,则会打印'Output file path is:'以及指定的输出文件路径。
如果我们以以下命令行形式调用上述示例脚本:
python script.py input.txt -o output.txt -v
则输出结果为:
Verbose mode is on. Output file path is: output.txt
通过使用add_argument()函数解析命令行参数,我们可以在命令行中指定对应的参数值,从而实现对命令行程序的控制。
