glob.glob python,python globe
现在我使用子流程调用find来完成工作,我想要一种Python风格的工作方式。
这是当前代码:
cmd= find/sys/devices/PCI * grep /net/
p=subprocess.popen(cmd,stdout=subprocess。PIPE,shell=true).
在输出中,会收到以下列表:
[root @ host 1 ~]# find/sys/devices/PCI * grep /net/ grep address
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
/sys/devices/PCI 0000336000/000033600336007.0/00000336004336000.0/00000336005336000.0/0000000033:00
其中glob . glob((/sys/devices/PCI)/*/(()/*/net/)),将显示目录列表。
我的问题是,如何重复简单的搜索行为?可以执行grep命令。或者,如果有更好的方法来搜索主机拥有的所有网卡的所有MAC,就可以发现它是否处于活动状态(在此查找特定的MAC模式)。
编辑:你不应该用glob。Os.walk似乎已经完成了这项工作:
对于root、dirs、namesinOS.walk(/sys/devices/):如果“地址”在名称中,而“PCI”在根目录中:f=打开(根/地址), r )。mac=f.readlines () [0]。strip)).f.close()。打印MAC。eth=root.split(/ ) [-1]。打印eth
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。