如何在字典中循环字典
How to loop dictionary within dictionary
我正在尝试遍历字典中的字典,主要思想是检查值是否为路径,现在我只是使用(登录到控制台)打印值并找出其余的 for循环,但我陷入了第二个循环
FOR ${key} IN @{dict.keys()}
${value}= Get From Dictionary ${dict} ${key}
${type} = Evaluate type($value).__name__
${contains}= Evaluate "/" in """${value}"""
Log To Console ${type}
Run Keyword If ${type} == str and ${contains}
... Log To Console ${key}, ${value}
Run Keyword If ${type} == dict
... FOR ${key2} IN @{value.keys()}
... ${value2}= Get From Dictionary ${value2} ${key2}
... Log To Console ${key2}, ${value2}
... END
END
我收到这个错误:
Variable '${key2}' not found. Did you mean:
${key}
如何访问字典内部的值?
提前致谢
您在内部循环中使用的语法不正确:
Run Keyword If ${type} == dict
... FOR ${key2} IN @{value.keys()}
... ${value2}= Get From Dictionary ${value2} ${key2}
... Log To Console ${key2}, ${value2}
... END
三点用作下一行关键字调用的延续,而 FOR
语法明确要求该块位于多行。如果将条件更改为常规 IF
,它应该可以工作:
IF “${type}“ == “dict“
FOR ${key2} IN @{value.keys()}
${value2}= Get From Dictionary ${value2} ${key2}
Log To Console ${key2}, ${value2}
END
END
我正在尝试遍历字典中的字典,主要思想是检查值是否为路径,现在我只是使用(登录到控制台)打印值并找出其余的 for循环,但我陷入了第二个循环
FOR ${key} IN @{dict.keys()}
${value}= Get From Dictionary ${dict} ${key}
${type} = Evaluate type($value).__name__
${contains}= Evaluate "/" in """${value}"""
Log To Console ${type}
Run Keyword If ${type} == str and ${contains}
... Log To Console ${key}, ${value}
Run Keyword If ${type} == dict
... FOR ${key2} IN @{value.keys()}
... ${value2}= Get From Dictionary ${value2} ${key2}
... Log To Console ${key2}, ${value2}
... END
END
我收到这个错误:
Variable '${key2}' not found. Did you mean:
${key}
如何访问字典内部的值?
提前致谢
您在内部循环中使用的语法不正确:
Run Keyword If ${type} == dict
... FOR ${key2} IN @{value.keys()}
... ${value2}= Get From Dictionary ${value2} ${key2}
... Log To Console ${key2}, ${value2}
... END
三点用作下一行关键字调用的延续,而 FOR
语法明确要求该块位于多行。如果将条件更改为常规 IF
,它应该可以工作:
IF “${type}“ == “dict“
FOR ${key2} IN @{value.keys()}
${value2}= Get From Dictionary ${value2} ${key2}
Log To Console ${key2}, ${value2}
END
END