如何在字典中循环字典

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