以下代码需要获取元素的值,但输出为空
[reflection.assembly]::LoadFrom("C:\Program Files\IronPython 2.7\IronPython.dll")
$py = [ironpython.hosting.python]::CreateEngine()
$pyv = $py.CreateScope()
$pyc = $py.CreateScriptSourceFromString("d = {'one':1,'two':2}")
$pyc.Execute($pyv)
$d = $pyv.GetVariable("d")
$d.one
$d.two
答案 0 :(得分:0)
您可以使用get("key")
函数或$variable["key"]
来获取字典值:
$engine = [ironpython.hosting.python]::CreateEngine()
$pyv = $engine.CreateScope()
$pyc = $engine.CreateScriptSourceFromString("d = {'one':1,'two':2}")
$pyc.Execute($pyv)
$d = $pyv.GetVariable("d")
$d.get("one")
$d["two"]
这是python词典的预期行为,如果您在对象上尝试get-member
,则可以看到属性1和2不存在,但是powershell不会抛出错误即使您尝试访问不存在的属性