我是靠谱客的博主 神勇楼房,最近开发中收集的这篇文章主要介绍TypeError: 'required' is an invalid argument for positionals 的解决方法TypeError: ‘required’ is an invalid argument for positionals 的解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

TypeError: ‘required’ is an invalid argument for positionals 的解决方法

当我在使用argparse模块时,遇到了如下错误:

import argparse
parser = argparse.ArgumentParser(description = 'debug_example')
parser.add_argument ('--data_root', default = 'data/path', type = str, required=False, help = 'the dataset path')
parser.add_argument ('result_root', default = 'result/path', type = str, required=False, help = 'the output path')
args = parser.parse_args()
print(args.data_root)
print(args.result_root)
TypeError: 'required' is an invalid argument for positionals

解决方案

在’result_root’前面加上- -;

parser.add_argument ('--result_root', default = 'result/path', type = str, required=True, help = 'the output path')

原因

required = False 只能用于可选参数。 对于可选参数,应该使用 - -,如果没有 - -,python 会将其视为位置参数。 因此 add_argument 函数里的参数required参数对位置参数 ‘result_root’ 无效。

解决错误后:

import argparse
parser = argparse.ArgumentParser(description = 'debug_example')
parser.add_argument ('--data_root', default = 'data/path', type = str, required=False, help = 'the dataset path')
parser.add_argument ('--result_root', default = 'result/path', type = str, required=False, help = 'the output path')
args = parser.parse_args()
print(args.data_root)
print(args.result_root)

运行结果:

data/path
result/path

最后

以上就是神勇楼房为你收集整理的TypeError: 'required' is an invalid argument for positionals 的解决方法TypeError: ‘required’ is an invalid argument for positionals 的解决方法的全部内容,希望文章能够帮你解决TypeError: 'required' is an invalid argument for positionals 的解决方法TypeError: ‘required’ is an invalid argument for positionals 的解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部