此篇文章介绍了python3获取当前电脑ip地址的实现方法,并提供了一个通过半透明悬浮窗显示当前ip地址的实例,其中应用到了tkinter和socket包实现的。
话不多说,直接上代码。
获取ip地址的两种方法。
方法1:
#!/usr/bin/python import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]) #get_ip_address('lo')环回地址 #get_ip_address('eth0')主机ip地址
方法2:
#!/usr/bin/python def get_local_ip(ifname): import socket, fcntl, struct s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15])) ret = socket.inet_ntoa(inet[20:24]) return ret print get_local_ip("eth0")
以上是python2获取ip地址的方法,由于自己用的是python3,大同小异,自己就编写了一个用python3获取ip的例子,代码如下。
#http://www.shuidi365.cn为您提供 import tkinter import socket root = tkinter.Tk() ip=socket.gethostbyname(socket.getfqdn(socket.gethostname())) #print(ip) title="my title" #root.title(title) root.wm_attributes('-topmost',1) root.geometry("150x25+900+0") root.overrideredirect(True) root.resizable(False,False) root.attributes("-alpha", 0.3)#窗口透明度70 % ipL=tkinter.Label(root,text=ip,width=150,height=25) ipL.pack() root.mainloop()
这是个通过python3编写的小软件,获得本机ip地址,并通过透明的悬浮窗显示,有现成的软件也有源码。可以算是入门级的程序,欢迎下载指正。效果图如下。
下载地址:
提取码:cu2h
通过以上3个代码,涵盖了python2和python3获取本机ip地址的方法,建议使用python3的方法,大家可以多练习,举一反三,争取熟练使用,如果您还有更好的方法,欢迎投稿指正。
更多相关推荐
版权保护:本文《python获取本机当前ip地址的实现方法并附源码和例子》由<我爱分享>原创,转载请保留链接:http://shuidi365.cn/python/80.html
此博客主要用来分享、推荐自己日常、学习过程中感觉比较实用的经验、IT技术和一些比较好的资源(各种软件、各种开发手册、各种学习资料、各种视频教程等),希望对大家有所帮助,有问题请留言,欢迎来交流,联系QQ邮箱/微信:342807450