在控制檯上使用以下命令打印wlan0 NIC的本地MAC地址。我想這個集成到一個腳本,列表的0號子列表將在EXER將一個子進程附加到一個列表似乎只是在python中附加子進程對象的位置?
ifconfig wlan0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
使用中的列表中,定位充滿了當地的MAC,得到它是從一個叫掃描字典第一和第二子列表。
所以我想要在第0子列表中的本地MAC和第1和第2子列表中的每個條目的條目。我曾嘗試代碼:
for s in scanned:
localisation[0].append(subprocess.Popen("ifconfig wlan0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'", shell=True))
,但我只是得到
<subprocess.Popen object at 0x2bf0f50>
對於每一個進入名單。雖然有正確數量的條目。
我也有問題,出於某種原因程序打印輸出的代碼到我不想發生的屏幕上。
我在做什麼錯?
在更換純shell腳本python,你可能想看看[sh](http://amoffat.github.com/sh/)模塊 - sh.grep(sh.ifconfig('wlan0'),'-o',' - E',r'([[:xdigit:]] {1,2}:){5} [[:xdigit:]] {1,2}')' – forivall 2013-04-04 18:00:52
您應該使用python regex而不是grep – JBernardo 2013-04-04 18:11:16