如何解决为什么在使用如下所示的 `argparse` 时会引发 TypeError?
最近我在 Python 中使用 argparse
编写了一个命令行解析脚本:
# tmp.py
import argparse
args = argparse.ArgumentParser()
args.add_argument('-warmup_proportion',type=float,default=0.1,help="Proportion of training to perform linear learning rate warmup for E.g.,0.1 = 10% of training.")
args.parse_args()
当我运行上面的代码时:
$python tmp.py -h
File "/Users/sunjiaweI/Opt/anaconda3/envs/py-37-ner/lib/python3.7/argparse.py",line 284,in format_help
help = self._root_section.format_help()
File "/Users/sunjiaweI/Opt/anaconda3/envs/py-37-ner/lib/python3.7/argparse.py",line 215,in format_help
item_help = join([func(*args) for func,args in self.items])
File "/Users/sunjiaweI/Opt/anaconda3/envs/py-37-ner/lib/python3.7/argparse.py",in <listcomp>
item_help = join([func(*args) for func,line 531,in _format_action
help_text = self._expand_help(action)
File "/Users/sunjiaweI/Opt/anaconda3/envs/py-37-ner/lib/python3.7/argparse.py",line 620,in _expand_help
return self._get_help_string(action) % params
TypeError: %o format: an integer is required,not dict
如果我删除 0.1 = 10%
字符串中的 help
,它运行正常。是bug还是什么?
我的 Python 是 3.7.9 for MacOS。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。