Во-первых, os.name
для Windows - 'nt'
, а для Linux - 'posix'
.
Это также выделено в документации :
Имя импортированного зависимого модуля операционной системы.В настоящее время зарегистрированы следующие имена: 'posix', 'nt', 'java'.
Если вы хотите использовать более конкретные платформы, используйте sys.platform
.лучший вариант.
Во-вторых, использование модуля netifaces
хорошо работает для Windows и Linux:
import netifaces
gateways = netifaces.gateways()
default_gateway = gateways['default'][netifaces.AF_INET][0]
print(default_gateway)
, который можно установить с помощью pip install netifaces
.Преимущество этого подхода заключается в том, что вам не нужно разграничивать подходы между Windows и Linux.