"""MyTool with options. Usage: mytool.py add <num1> <num2> [--verbose] mytool.py add --help Options: -h --help Show this help message. --verbose Show detailed output. """ from docopt import docopt # 导入docopt库
if __name__ == '__main__': args = docopt(__doc__) # 解析文档字符串中的命令行参数 result = int(args['<num1>']) + int(args['<num2>']) # 将输入的两个数字相加 if args['--verbose']: # 检查用户是否请求了详细输出 print(f"The sum of {args['<num1>']} and {args['<num2>']} is {result}.") else: print(result) # 否则只输出结果
"""MyTool with error handling. Usage: mytool.py multiply <num1> <num2> mytool.py multiply --help Options: -h --help Show this help message. """ from docopt import docopt, DocoptExit # 导入docopt库
if __name__ == '__main__': try: args = docopt(__doc__) # 解析文档字符串中的命令行参数 result = int(args['<num1>']) * int(args['<num2>']) # 计算两个数字的乘积 print(result) # 输出计算结果 except DocoptExit as e: # 捕获docopt解析中的错误 print(e) # 输出错误信息 except ValueError: # 处理值错误,例如非数字输入 print("Please provide valid numbers.") # 提示用户输入有效数字