Как установить модуль шлюзов и найти адрес моего роутера?

Я хочу определить адрес моего маршрутизатора, используя код Python. Я обнаружил, что могу использовать этот метод netifaces.gateways() после установки netifaces библиотека.

Но моя проблема заключается в следующем:

rimeh@rimeh-PC:~$ python 
Python 2.7.3 (default, Dec 18 2014, 19:10:20)     
[GCC 4.6.3] on linux2    
Type "help", "copyright", "credits" or "license" for more information.    
>>> import netifaces    
>>> gws=netifaces.gateways()    
Traceback (most recent call last):    
File "<stdin>", line 1, in <module>    
AttributeError: 'module' object has no attribute 'gateways'

Мне нужна помощь, спасибо.

1 ответ

Решение

gateway() доступно только с netifaces 0.10.0. Попробуйте вместо этого позвонить route команда из подпроцесса:

$ python -c 'import subprocess; print subprocess.check_output(["route", "-n"]).splitlines()[2].split()[1]'
192.168.1.1
Другие вопросы по тегам