关于ipad地址的pylint警告



#/usr/bin/python3.8

"quot"检查ip是否在子网中"quot">

导入ipad地址

MY_VPC_SUBNETS=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"]

MY_VPC_IPS=["10.16.0.0/12","172.16.12.0/28","10.15.90.2/32"]

对于MY_VPC_SUBNETS中的网络:internal_network=ipaddress.ip_network(网络)对于my_VPC_IPS中的my_valid_ip:my_ip=ipad地址.ip_network(my_valid_ip)如果my_ip.subnet_of(internal_network):打印(my_ip,"在子网中",internal_network)

我的警告是check_ip.py:17:11:E1101:"IPv4Network"的实例没有"subnet_of"成员(没有成员)check_ip.py:17:11:E1101:"IPv6Network"的实例没有"subnet_of"成员(无成员)

您的代码没有格式化,但它似乎对我来说可以使用假定格式:

$ cat test.py
import ipaddress
MY_VPC_SUBNETS = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
MY_VPC_IPS = ["10.16.0.0/12", "172.16.12.0/28", "10.15.90.2/32"]
for network in MY_VPC_SUBNETS:
internal_network = ipaddress.ip_network(network)
for my_valid_ip in MY_VPC_IPS:
my_ip = ipaddress.ip_network(my_valid_ip)
if my_ip.subnet_of(internal_network):
print(my_ip, "in subnet", internal_network)
$ python3 test.py
10.16.0.0/12 in subnet 10.0.0.0/8
10.15.90.2/32 in subnet 10.0.0.0/8
172.16.12.0/28 in subnet 172.16.0.0/12
$ python3 --version
Python 3.8.7
$ pylint --disable=C0111 test.py
-------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 9.00/10, +1.00)

禁用只是针对缺少的docstring。