【问题标题】:Passing a list into one kwargs将列表传递给一个 kwargs
【发布时间】:2020-08-04 14:51:23
【问题描述】:

最后的想法是使用如下命令启动我的 python 程序: python.exe -m myProgram execute --tags arg1 arg2 arg3 我正在尝试在列表中获取“arg_1”、“arg_2”、...、“arg_n”(n 未知)并通过“tags”访问所有这些

我尝试了一些方法,例如:

def run(self, **kwargs) -> None:
    tags = []
    for arg in kwargs.values():
        tags = tags.append(kwargs.get("tags", None))
    print(tags)

或者:

def run(self, **kwargs) -> None:
    tags = kwargs.get("tags", None)

但我无法得到预期的结果。 我应该更改我的命令还是是否存在获取列表等标签的方法? 请问,有什么帮助吗? 谢谢

【问题讨论】:

  • 你用什么来获取输入参数的?
  • 你可能想看看这个问题stackoverflow.com/questions/15753701/…
  • 使用python自带的参数解析器argparse。特别是nargs='*'。有任何理由拥有--tags 吗?消费参数列表中的所有项目似乎--tags 是不必要的。
  • 谢谢你们,我会读完所有的。 @AChampion,我可能需要添加其他名称的其他参数。 --tags 就是一个例子。 @Riccardo,谢谢你的链接。寻找kwargs,我没有找到/想到argparse

标签: python-3.x python-fire


【解决方案1】:

好的, 我找到了怎么做: python.exe -m myProgram execute --tags=[arg1,arg2,arg3] 这种格式创建了我想发送到我的程序的列表。 不管怎样,你的链接读起来很有趣。再次感谢。

【讨论】:

    猜你喜欢
    • 2010-12-31
    • 2012-04-09
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    相关资源
    最近更新 更多