在Python中,可以使用argparse
库来读取和验证命令行参数。argparse
库可以帮助你轻松地编写用户友好的命令行接口,并提供了对参数的验证功能。
以下是一个简单的示例,展示了如何使用argparse
库读取和验证命令行参数:
import argparse
def validate_positive_int(value):
try:
int_value = int(value)
if int_value <= 0:
raise argparse.ArgumentTypeError(f"{value} must be a positive integer")
return int_value
except ValueError:
raise argparse.ArgumentTypeError(f"{value} must be an integer")
def main():
parser = argparse.ArgumentParser(description="Example script to read and validate command line arguments")
parser.add_argument("number", type=validate_positive_int, help="A positive integer to be validated")
args = parser.parse_args()
print(f"Validated number: {args.number}")
if __name__ == "__main__":
main()
在这个示例中,我们定义了一个名为validate_positive_int
的函数,用于验证输入值是否为正整数。然后,我们使用argparse.ArgumentParser
创建一个解析器对象,并添加一个名为number
的命令行参数,将其类型设置为validate_positive_int
函数。最后,我们调用parser.parse_args()
解析命令行参数,并在main
函数中使用这些参数。
当你运行这个脚本并提供一个正整数参数时,它将输出验证后的数值。如果提供的参数不是正整数,它将显示一个错误消息。例如:
$ python example.py 5
Validated number: 5
如果提供的参数不是正整数,例如:
$ python example.py -5
usage: example.py [-h] number
example.py: error: argument number: -5 must be a positive integer