检查ip是否在Raspberry上的Python范围内
我花了两天的时间试图解决我的问题。但无论我尝试什么,它都不会起作用 树莓的ip:192.168.1.129检查ip是否在Raspberry上的Python范围内,python,ip,raspberry-pi,Python,Ip,Raspberry Pi,我花了两天的时间试图解决我的问题。但无论我尝试什么,它都不会起作用 树莓的ip:192.168.1.129 import socket import fcntl import struct #import time def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.filen
import socket
import fcntl
import struct
#import time
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])
#print get_ip_address('lo')
#print get_ip_address('eth0')
#print get_ip_address('wlan0')
shortip = get_ip_address('wlan0')[:3]
#print shortip
if shortip in range(1, 255):
print get_ip_address('wlan0')
else:
print 'No connection'
当我取消标记print get_ip_address(“wlan0”)时,我得到一个结果:192.168.1.129
import socket
import fcntl
import struct
#import time
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])
#print get_ip_address('lo')
#print get_ip_address('eth0')
#print get_ip_address('wlan0')
shortip = get_ip_address('wlan0')[:3]
#print shortip
if shortip in range(1, 255):
print get_ip_address('wlan0')
else:
print 'No connection'
当我解开短码时,我得到一个结果:192
那应该在范围之内
但我只得到“没有联系”的结果
你知道为什么会这样吗?
谢谢大家!
shortip
是一个字符串。因此,它将永远不在任何范围内。在进行比较之前,将其转换为int
。谢谢。。。这会有用的!我真的很感谢你的帮助。