两种方法:
方法1(使用外部软件包)您需要询问绑定到
eth0接口的IP地址。可从netifaces包中获得
import netifaces as nini.ifaddresses('eth0')ip = ni.ifaddresses('eth0')[ni.AF_INET][0]['addr']print ip # should print "192.168.100.37"
您还可以通过以下方式获取所有可用接口的列表
方法2(无外部包装)ni.interfaces()
这是一种无需使用python包即可获取IP地址的方法:
import socketimport fcntlimport structdef 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('eth0') # '192.168.0.110'
注意:检测IP地址以确定您正在使用的环境是很不容易的事情。几乎所有框架都提供了一种非常简单的方法来设置/修改环境变量以指示当前环境。尝试查看有关此内容的文档。它应该像做一样简单
if app.config['ENV'] == 'production': #send production emailelse: #send development email
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)