如何在 parse_arg 中包含代码属性?

How to include code attribute in parse_arg?

我有以下代码:

import argparse

parser = argparse.ArgumentParser(description = "Gobblet game")
parser.add_argument("code", metavar = "CODE", type=str, help= "Player code")
parser.add_argument("-l", "--lister", action="store_true", help= "Lists existing games")
attrib = parser.parse_args()

当我执行 print(attrib) 时,错误提示告诉我需要 CODE 参数。这个参数需要放在我的代码中的什么地方才能创建播放器代码的命名空间?

您已使用此行向您的代码添加了强制位置参数:

parser.add_argument("code", metavar = "CODE", type=str, help= "Player code")

这意味着您的脚本需要至少使用一个 non-option 参数来调用。也就是说,如果您的脚本名为 myscript.py,您需要这样调用它:

python myscript.py <player_code_goes_here>

或:

python myscript.py --lister <player_code_goes_here>

如果您调用 parser.parse_args() 而您的命令行没有 non-option 参数,它将如您所描述的那样失败。

如果您希望 code 成为一个选项(例如 --code),您需要:

parser.add_argument("--code", metavar = "CODE", type=str, help= "Player code")