Python - 'IPv4Address' 未定义
这里是一段Python脚本的代码
import ipaddr, ipaddress
if ((IPv4Address(lower_ip) <= sender-ip) and (IPv4Address(upper_ip) >= sender-ip)):
print "in range"
我遇到了一个错误
Traceback (most recent call last):
File "namelookup3.py", line 55, in <module>
if ((IPv4Address(lower_ip) <= sender-ip) and (IPv4Address(upper_ip) >= sende
r-ip)):
NameError: name 'IPv4Address' is not defined
我导入了ipaddr和ipaddress这两个库,并且%PATH%设置为D:\Python27\Lib\site-packages,这里有ipaddr和ipaddress的编译好的Python文件
求助!
1 个回答
2
当你使用 import
导入一个模块时,你需要在模块里的所有对象前面加上它们的命名空间,比如:
import ipaddr, ipaddress
if ((ipaddress.IPv4Address(lower_ip) <= sender_ip) and (ipaddress.IPv4Address(upper_ip) >= sender-ip)):
print "in range"
另外,你也可以直接在当前的命名空间中导入 IPv4Address
类,方法是:
from ipaddress import IPv4Address
if ((IPv4Address(lower_ip) <= sender_ip) and (IPv4Address(upper_ip) >= sender_ip)):
print "in range"
此外,你可能还想把 sender-ip
替换成 sender_ip
。