我是靠谱客的博主 神勇楼房,最近开发中收集的这篇文章主要介绍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 的解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复