python中是否有一种方法可以访问命名的;网络连接“;在窗户里?例如:“;以太网“;或;“本地连接”;

python中是否有一种方法可以访问命名的;网络连接“;在窗户里?例如:“;以太网“;或;“本地连接”;,python,tkinter,networking,Python,Tkinter,Networking,前几天我刚开始使用Python,所以如果这是一个愚蠢的问题,请原谅我。我正在通过Tkinter创建一个功能强大的windows应用程序,它可以让我和我的同事通过单击按钮快速更改IP地址。此功能已经起作用,但是,我想在我的窗口中创建一个标签,在打开应用程序并单击按钮更改IP以显示其实际工作时显示计算机的以太网IP地址。我发现了一个名为“Ifaddr”的库,我认为它可以工作,但它没有显示像“Ethernet”或“Local Area connection”这样的连接名称,而是显示像“Realtek

前几天我刚开始使用Python,所以如果这是一个愚蠢的问题,请原谅我。我正在通过Tkinter创建一个功能强大的windows应用程序,它可以让我和我的同事通过单击按钮快速更改IP地址。此功能已经起作用,但是,我想在我的窗口中创建一个标签,在打开应用程序并单击按钮更改IP以显示其实际工作时显示计算机的以太网IP地址。我发现了一个名为“Ifaddr”的库,我认为它可以工作,但它没有显示像“Ethernet”或“Local Area connection”这样的连接名称,而是显示像“Realtek PCIe 2.5GbE系列控制器”这样的适配器名称。唯一的问题是,不是所有的同事都有带有Realtek控制器的笔记本电脑,有些是Intel或其他什么产品。任何解决方案都将不胜感激。

感谢@acw1668的评论,但我认为我可能已经找到了比这些答案所建议的更好的解决方案。我找到了这篇文章,在阅读之后,我尝试使用os.popen命令,它工作得很好,最好的部分是您可以使用标准库来实现我想要的。以下是一个例子:

import os
ethernetset1=os.popen("netsh interface ip show addresses Ethernet").read().split('\n')
print (ethernetset1)
其结果是:

['', 'Configuration for interface "Ethernet"', '    DHCP enabled:                         No', '    IP Address:                           10.74.126.120', '    Subnet Prefix:                        10.74.124.0/22 (mask 255.255.252.0)', '    Default Gateway:                      0.0.0.0', '    Gateway Metric:                       1', '    InterfaceMetric:                      35', '', '']

在我看来,这很好,因为您可以打印有关连接名称的所有详细信息,甚至可以访问列表元素以获得所需内容(IP、网关、掩码)。这是最理想的方法吗?我不能回答这个问题,因为我对编程基本上是新手。希望这对将来的人有所帮助。

这个问题可能会有所帮助。@acw1668谢谢你的回答。我将试着回答这个问题。