如何解析命令行参数中的标志?
How can I parse flags in command line argument?
我必须在 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
有没有办法将该标志作为第三个参数捕获?
在您的代码中,您定义了一个“位置参数”,这不是您想要的。如果你想实现一个标志(true/false)--pos
就这样做。
...
parser.add_argument('--pos', action='store_true', help='the flag that triggers pos-tags')
args = parser.parse_args()
if args.pos:
...
并将其命名为
python3 pi.py en lemma --pos
我必须在 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
有没有办法将该标志作为第三个参数捕获?
在您的代码中,您定义了一个“位置参数”,这不是您想要的。如果你想实现一个标志(true/false)--pos
就这样做。
...
parser.add_argument('--pos', action='store_true', help='the flag that triggers pos-tags')
args = parser.parse_args()
if args.pos:
...
并将其命名为
python3 pi.py en lemma --pos