Linux平台下,利用Python获取系统平台及IP地址
方法一:
from socket import socket, SOCK_DGRAM, AF_INET
s = socket(AF_INET, SOCK_DGRAM)
s.connect(('google.com.hk', 0))
s.getsockname()
方法二:
import os
import socket
import fcntl
import struct
def platform_info():
cmd = 'cat /etc/system-release'
fd = None
sys_info = None
try:
fd = os.popen(cmd)
sys_info = fd.read()
except:
print 'exception'
finally:
fd.close()
return sys_info
def 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])
#ip_address('lo')
#ip_address('eth0')