aivs
Окт. 12, 2011 10:26:57
Здравствуйте! Начал изучать python, и потребовалось мне через скрипт узнать mac адрес моей карточки и сохранить его в переменную для дальнейшей работы с ним.
Прочитал про два решение, первый - с помощью regexp парсить вывод ifconfig, второй - с помощью встроенных средств python.
Больше интересует второй вариант! Если кто делал такое, поделитесь знаниями!
dimabest
Окт. 12, 2011 11:43:32
# coding: utf8
from subprocess import Popen, PIPE
p1 = Popen(['ifconfig', '-a'], stdout=PIPE)
p2 = Popen(["grep", "HWaddr"], stdin=p1.stdout, stdout=PIPE)
output = p2.communicate()[0]
print output.split()[-1]
s0rg
Окт. 12, 2011 12:24:42
aivs
Окт. 12, 2011 13:16:37
dimabest, спасибо Ваш вариант прост и работает
s0rg, почитал тему, пока разбираюсь
aivs
Ноя. 24, 2011 15:26:30
Вот такую функцию написал, которая возвращает mac адрес в обычном 16-ричном виде.
“”“ Функция получения mac адреса, возвращает mac адрес ”“”
def get_mac(self, interface):
# Выполнить ifconfig eth0
p1 = Popen(, stdout=PIPE)
# и записать вывод в output в виде строки
output = str(p1.communicate())
# Позиция слова ether в строке
pos_word = output.find('ether')
# mac адрес начинается c 6 символа после начала слова ether и кончается на 23 символе после начала слова ether
return output