我想在python脚本中运行shell命令。并将打印输出保存在列表或数组中。在
例如,打印出shell命令如下所示
root@cic-1:~# for i in $(neutron net-list | grep -i cscf2 | awk '{print $2}'); do neutron net-show $i | grep -i segmentation|awk '{print $4}' ; done
2006
2022
2023
2081
root@cic-1:~#
我希望这个打印输出保存在这样的列表中
[200620220232081]
我已经完成了下面的python代码
^{pr2}$输出是2,但是我希望VLAN[0]是2006
你可以用subprocess.check_输出更容易地捕获命令的输出。这在功能上等同于你所拥有的。在
如果要将VLAN作为字符串列表,可以执行以下操作:
^{pr2}$如果需要整数列表,请执行以下操作:
如果您希望
vlans[0]
作为输出的第一行,那么需要将输出拆分为多行。{{do}添加到这个命令的末尾:当然,由于我没有
neutron
或net-list
,所以我用另一个shell命令替换了它,它给出了与您显示的相同的输出。在改善
Shell输出通常包括最后一个换行符。但是,当python的
^{pr2}$split
函数看到最后一行新行时,它将创建最后一个空字符串。为了消除这种情况,我们可以在将输出传递给split
之前将其应用于输出:根据您的目标,您可能希望使用
rstrip('\n')
来代替饥饿的人strip()
。在相关问题 更多 >
编程相关推荐