Знаете ли вы, как я мог получить один из адресов IPv6 одного из моих интерфейсов в python2.6. Я попробовал что-то с модулем гнезда, который ни к чему не приведет.Как получить IPv6-адрес интерфейса под Linux
Спасибо.
Знаете ли вы, как я мог получить один из адресов IPv6 одного из моих интерфейсов в python2.6. Я попробовал что-то с модулем гнезда, который ни к чему не приведет.Как получить IPv6-адрес интерфейса под Linux
Спасибо.
Я обязательно поеду с этим, он будет работать хорошо, даже если я нахожу это действительно уродливым.
step1 = Popen(['ip','addr','show','br0'],stdout=PIPE)
step2 = Popen(['grep','inet6'],stdout=PIPE,stdin=step1.stdout)
step3 = Popen(['sed','-e','/fe80/d','-e','s/ *inet6 *//g','-e','s/\/64.*$//g'],stdout=PIPE,stdin=step2.stdout)
step4 = Popen(['tail','-n1'],stdout=PIPE,stdin=step3.stdout)
step4.communicate()[0]
Спасибо за помощь еще раз.
Вы можете просто запустить «ifconfig» с подпроцессом. * Вызвать и разобрать вывод.
Модуль netifaces должен это сделать.
import netifaces
addrs = netifaces.ifaddresses('eth0')
addrs[netifaces.AF_INET6][0]['addr']
Большое спасибо, к сожалению, я хочу оставаться очень простым в этом скрипте, который должен работать в разных условиях. Поэтому я искал что-то, что не требовало бы easy_install. Но все же, он отлично работает, спасибо снова. – jaes
Я подумал об этом, и у меня есть на самом деле готовая (и длинная) команда, чтобы хорошо сформировать Ipv6. Но это действительно выглядит уродливым. Он должен существовать более быстрый способ сделать это. – jaes