import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', bytes(ifname[:15], 'utf-8'))) return socket.inet_ntoa(inet[20:24]) if __name__ == '__main__': ret = get_ip_address("lo") print(ret)
使用中只要更改方法'get_ip_address'的值("lo"),即可
注:我用的是Python3, 如果是Python2,可以修改相关格式即可