【问题标题】:include parameters with strings in a list在列表中包含带有字符串的参数
【发布时间】:2023-03-26 14:35:01
【问题描述】:

我有一个通过 netmiko.(https://github.com/ktbyers/netmiko) 函数传递的用于防火墙的 cli 命令列表。

问题在于某些字符串命令包含附加参数,例如 send_command_timing("显示系统信息, delay_factor=1, max_loops=150, strip_prompt=True,strip_command=True)

有没有办法可以将整个命令添加到包含参数的列表中?

list_a =[ "Do_Something","Do_Something|else","Do_Altogether_Something_Else |"]

        for command in list_a :
            matching = [s for s in list_a if "|" in s]
            if command == matching:
                query = connection.send_command_timing(matching,delay_factor=1, max_loops=150, strip_prompt=True,strip_command=True)
                print (query)

如果我的问题有点模棱两可,我很抱歉。请让我知道这是否更好

【问题讨论】:

  • 我已多次阅读您的问题,但仍然不明白您要做什么。请花时间提出一个明确的问题。
  • 我已尽力将您的问题编辑成我认为您想问的内容。如果我的编辑有误,请告诉我,我会回滚。如果我错了,请尝试自己编辑问题,以明确您的意思。

标签: python loops boolean custom-lists


【解决方案1】:

我不能 100% 确定您要做什么,但这是我对解决方案的最佳尝试。根据我从问题中收集到的信息(如果我错了,请纠正我),你有一个字符串列表,其中每个字符串都是一个命令,然后是命令的参数;即它们遵循以下格式:'command|arg0|arg1|arg2'。我认为这是因为您的问题是:

问题在于,某些字符串命令还包含参数,这些参数用竖线与实际命令隔开。

现在,您还说要将参数与命令分开。给定input_string,这是一个可以为您执行此操作的函数。

def separate_args_and_command(input_string):
    command_and_args = input_string.split('|')
    return command_and_args[0], command_and_args[1:]

此函数返回一个包含您的命令的元组,后跟您的参数列表。这是一个简单的例子:

>>> separate_args_and_command('my_command|my_arg0|my_arg1')
('my_command', ['my_arg0', 'my_arg1'])

下面是一个示例,说明您将如何使用此函数来解决您的问题:

list_a = ["command0|arg0", "command1","command2|arg0|arg1|arg2"]
for command_and_args in list_a:
    command, arguments = separate_args_and_command(command_and_args)

    # Now you have your command, and your arguments separated. If there are no
    # arguments, the arguments variable will be an empty list.

【讨论】:

  • 我认为这是在写入方向。将与此合作,看看它是否能让我得到我想要的谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-13
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
相关资源
最近更新 更多