今天的Python练习题目:使用python获取系统的ip地址,并打印出来 。
要求:不使用python的pstuil模块。
代码如下:
#linux系统
#!/usr/bin/python
import socket
import struct
import fcntl
def getip(ethname):
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0X8915, struct.pack('256s', ethname[:15]))[20:24])
if __name__=='__main__':
print(getip('eth0'))
#mac系统
import sys, socket
def getipaddrs(hostname):
result = socket.getaddrinfo(hostname,None,0,socket.SOCK_STREAM)
return [x[4][0] for x in result]
hostname = socket.gethostname()
try:
print("IP addresses:", ", ".join(getipaddrs(hostname)))
except socket.error as e:
print("Couldn't not get IP addresses:", e)
当你拿到练习题的题目时,先不要看代码,自己想一想,看有没有思路,尝试编写,这样更有益于加深印象哦。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。