У меня есть следующая функция, которую я использую для проверки, существует ли интерфейс:
def status(interface):
print("Checking VPN Status...")
for line in open('/proc/net/dev'):
if interface in line:
proof = line.split(" ")[1].split()
print(proof)
return proof
Вот копия моего файла / proc / net / dev:
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
ens33: 1480355767 23538625 13 1 0 0 0 0 752613935 44655037 0 0 0 0 0 0
lo: 548140418 2567168 0 0 0 0 0 0 548140418 2567168 0 0 0 0 0 0
tun0: 17067 85 0 0 0 0 0 0 10819 114 0 0 0 0 0 0
Если я вызываю status ('ens'), я получаю правильный вывод:
['ens33:]
Но если я вызываю status ('tun'), который, как я ожидаю, будет работать, я получаю:
[]
Есть идеи, что здесь происходит?