Мне нужно написать простой скрипт python (python3) для хранения моего локального адреса Ip в переменной, чтобы потом манипулировать им, я много читаю, но я не понимаю, где я делаю неправильно здесь кусок код для лучшего понимания ..Как сохранить вывод из команды bash?
#!/usr/bin/env pyhton3
import os
import subprocess
import sys
import fileinput
localip = subprocess.call(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1"], shell=True)
print localip
...
...
...
теперь, когда я это он Выполнение выражений выводит меня это:
[email protected]:~/Documents $ python change.py
192.168.1.6
0
кажется, я не могу найти решение этой проблемы самостоятельно, может кто-нибудь сказать мне, где я поступаю неправильно и помогаю? Благодарю.
Как объяснено в [документация] (https://docs.python.org/2/library/subprocess.html#subprocess.call), значение, возвращенное 'subprocess.call' является возвращение командования код, который используется для указания того, была ли команда выполнена. В этом случае оно равно нулю, поскольку ошибки не было. – kindall
Не выходите в оболочку, чтобы получить информацию о вашем сетевом интерфейсе. Я не знаю, является ли это каноническим решением, но для поиска https://pypi.python.org/pypi/netifaces/ потребовалось всего 10 секунд –