Как я могу использовать список в подпроцессе. Открыть, чтобы сохранить некоторые значения в другом списке в Python? - PullRequest
1 голос
/ 10 мая 2019

У меня есть 2 mac-адреса, хранящихся в списке (maclist), и я сделал их «greped» из файла. Я думаю, что цикл for выполняет свою работу правильно, но в выводе ничего не печатается (iplist).

Файл содержит как mac-адреса, так и ip, поэтому с помощью mac я могу получить ip.

iplist = []
leasefile="/var/lib/misc/dnsmasq.leases"

p9 = subprocess.Popen(["cut", "-f", "2,3,4", "-s", "-d", " ", leasefile], stdout=subprocess.PIPE)

for line in p9.stdout:
    for i in range(len(maclist)):
        p10 = subprocess.Popen(["grep", str(maclist[i])], stdin=p9.stdout,
            stdout=subprocess.PIPE)

        p11 = subprocess.Popen(["cut", "-f", "2", "-s", "-d", " "], encoding="utf8", 
            stdin=p10.stdout, stdout=subprocess.PIPE)

        for line2 in p11.stdout:
            iplist.append(line2.rstrip('\n'))
    print(iplist)
...