【发布时间】:2021-03-14 23:56:12
【问题描述】:
我必须在 Python 中实现一个 --pos 标志并创建一个新条件(如果存在),但是当我在命令行参数中输入它时,argparse 无法识别它。
parser = argparse.ArgumentParser()
parser.add_argument('lang', type=str, help='Language')
parser.add_argument('mode', help='the mode you want to output the results with')
parser.add_argument('flag', help='the flag that triggers pos-tags')
args = parser.parse_args()
所以当我运行命令时:
python3 pi.py en lemma --pos
我收到以下错误消息:
error: unrecognized arguments: --pos
有没有办法将该标志作为第三个参数?
【问题讨论】:
-
尝试将
'flag'更改为'--pos' -
不清楚你在问什么。您想在命令行中传递
--pos,但在内部将其处理为flag...?标志样式解析在 argparse 的Introducing Optional arguments 中有说明。 -
@Ralubrusto 关闭。这将需要对标志的参数。您还需要添加
action='store_true'。见Ruggero's answer。
标签: python python-3.x argparse command-line-arguments