首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python获取本机所有IP地址

众所周知,Python标准库socket中有可以获取本机IPV4地址的方法,下面是网上非常常见的一种用法: >>> import socket >>> hostname = socket.gethostname...DESKTOP-I734J3O' >>> socket.gethostbyname(hostname) '192.168.0.103' 上面的代码在Windows下运行良好,但是无意中发现在Mac系统下运行不正常,返回的是本机回环地址...address, port)形式的元组,而对于IPV6协议是(address, port, flow info, scope id)形式的元组,也就是说,不管是IPV4还是IPV6,上面的函数都可以正确地获取...0)) (, 0, 0, '', ('2001:0:9d38:6ab8:1456:951:2418:27cf', 0, 0, 0)) 如此便可以获取本机所有...IPV4和IPV6地址,如果只想获取IPV4地址,再继续执行下面的代码: >>> [item[4][0] for item in addrs if ':' not in item[4][0]][0] '

4K40

Python获取本机 IPMAC(多网

Python获取本机IP地址的一般方法为 import socket IP = socket.gethostbyname(socket.gethostname())   通过gethostname...如果主机有多个网卡/IP,怎样获取某个指定的IP地址呢?   一个方法是通过socket.gethostbyname_ex获取主机IP地址列表,然后遍历列表取得自己需要的IP。...上面的方法只支持IPv4,如果要获取IPv6信息,参考socket.getaddrinfo。 *** Updated 2018-03-08 *** 1、用系统库获取单机 mac 地址。...)[2:].upper() return '-'.join(addr[i:i+2] for i in range(0, len(addr), 2)) 2、用第三方库 psutil 打印网络适配器信息...import psutil # 打印多网卡 mac 和 ip 信息 def PrintNetIfAddr():     dic = psutil.net_if_addrs()     for adapter

2.2K10

python 优雅获取本机 IP 方法

见过很多获取服务器本地IP的代码,个人觉得都不是很好。从网上搜索到一个靠谱的脚本,分享一下! 通过 UDP 获取本机 IP,目前见过最优雅的方法 这个方法是目前见过最优雅获取本机服务器的IP方法了。...没有任何的依赖,也没有去猜测机器上的网络设备信息。 而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的IP。...在 shell 中可以一行调用,获取本机IP [root@localhost opt]# python -c "import socket;print([(s.connect(('8.8.8.8', ...socket.AF_INET, socket.SOCK_DGRAM)]][0][1])" 192.168.218.140 [root@localhost opt]# 亲测本方法在windows和Linux系统下均可正确获取...IP地址 get_ip.py import socket def get_host_ip():     """     查询本机ip地址     :return: ip     """     try

9.3K11
领券