水滴石主要分享一些生活中的经验和IT技术自学过程中积累的技术、学习资源和软件资源等。座右铭:坚持+自律=开挂人生。
当前位置: 首页 > python > python获取本机当前ip地址的实现方法并附源码和例子

python获取本机当前ip地址的实现方法并附源码和例子

标签:

此篇文章介绍了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地址,并通过透明的悬浮窗显示,有现成的软件也有源码。可以算是入门级的程序,欢迎下载指正。效果图如下。

python3获取ip代码示例效果


下载地址:

百度网盘下载

提取码:cu2h

通过以上3个代码,涵盖了python2和python3获取本机ip地址的方法,建议使用python3的方法,大家可以多练习,举一反三,争取熟练使用,如果您还有更好的方法,欢迎投稿指正。

更多相关推荐

  • 没有相关文章

版权保护:本文《python获取本机当前ip地址的实现方法并附源码和例子》由<我爱分享>原创,转载请保留链接:http://www.shuidi365.cn/python/80.html

相关推荐
  • 没有相关文章

此博客主要用来分享、推荐自己日常、学习过程中感觉比较实用的经验、IT技术和一些比较好的资源(各种软件、各种开发手册、各种学习资料、各种视频教程等),希望对大家有所帮助,有问题请留言,欢迎来交流,联系QQ邮箱/微信:342807450

文章分类
合作伙伴
冀ICP备19020226号-1 冀公网安备 13010902000246号