有一个错误我不太确定如何解决,有一个嵌套字典,其中最后一项不包含所要求的 get 并给出错误,不知道如何修复它。
非常基本的代码调用
for keys in interfaces:
counters = interfaces[keys].get(u'interfaceCounters', {})
print keys, "inOctets:", counters.get(u'inOctets', {}), "outOctets:", counters.get(u'outOctets', {})
Run Code Online (Sandbox Code Playgroud)
这是输出:
Management1 inOctets: 0 outOctets: 0
Ethernet2 inOctets: 561926946 outOctets: 49932066
Ethernet3 inOctets: 561926408 outOctets: 49932764
Ethernet1 inOctets: 319314970 outOctets: 264840242
Ethernet6 inOctets: 561897402 outOctets: 49930884
Ethernet7 inOctets: 561678430 outOctets: 50180896
Ethernet4 inOctets: 561927603 outOctets: 49931337
Ethernet5 inOctets: 561926383 outOctets: 49932935
Vlan1 inOctets:
Traceback (most recent call last):
File "ex1.py", line 36, in <module>
print keys, "inOctets:", counters.get(u'inOctets', '0'), "outOctets:", …Run Code Online (Sandbox Code Playgroud) 我要编程的脚本有问题。缩小范围并简化代码,这会导致找不到命令的错误。如果我在命令行中执行“ test -f file”,则不返回任何内容,未找到命令
PATH=$1
#!/bin/bash
DIR=$1
if [[-f $PATH]]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
exit
Run Code Online (Sandbox Code Playgroud)
这是我要运行的实际更复杂的脚本
verify()
{
if [[-f $1]]; then
VFY[$2]="f"
echo "$1 is a file"
elif [[-d $1]]
then
VFY[$2]="d"
echo "$1 is a directory"
else
VFY[$2]=0
echo -e "\r"
echo "$1 is neither a file or a directory"
echo -e "\r"
fi
}
Run Code Online (Sandbox Code Playgroud)
它是较大脚本的一部分,可以根据输入来移动内容。我已经在CentOS 6和FreeBSD中运行了它们,它们都给出了相同的错误“ [[-f:找不到命令”。
代码如下.想法是对Last name数组进行排序,并使所有数据相对于姓氏移动,所以这里是示例数据:
Amy Wilson 21 68.5 190 150 10
Scott Wilson 25 76.5 250 210 10
Jamie Scott 45 62 150 135 56
Sharon Baxter 52 65 150 140 8
Brock Stanley 65 70 180 190 4
Baxter Cash 18 72 170 200 8
John Stanford 30 74 190 210 7
Angel Delgado 25 62.5 150 137 5
Brad Harris 55 70 200 180 6
Amber Carrell 18 65 120 110 3
Jakob Neihaus 20 64 110 120 3
Willie …Run Code Online (Sandbox Code Playgroud)