python 将 ip 范围与主机文件进行比较
python compare ip range to host file
我有一个简单的 python 脚本,它使用 netaddr 将范围与主机文件进行比较。我需要打印整个范围和火柴。据我所知。下面的片段:
ip_range = sys.argv[1]
host_file = open('/etc/hosts')
for ip in IPNetwork(ip_range).iter_hosts():
ip_results.append('%s' % ip)
for Z in ip_results:
for X in host_file:
if Z in X:
print Z, X
像这样:
192.168.1.1 192.168.1.1 主机 1
192.168.1.2 192.168.1.2 主机 2
192.168.1.3
即使没有匹配,我仍想打印 IP。
如有任何帮助,我们将不胜感激!
简单的解决办法是初始化一个匹配变量,然后如果它没有打开就打印一次ip。例如:
for Z in ip_results:
matching = 0
for X in host_file:
if Z in X:
print Z, X
matching = 1
if matching == 0:
print Z
我有一个简单的 python 脚本,它使用 netaddr 将范围与主机文件进行比较。我需要打印整个范围和火柴。据我所知。下面的片段:
ip_range = sys.argv[1]
host_file = open('/etc/hosts')
for ip in IPNetwork(ip_range).iter_hosts():
ip_results.append('%s' % ip)
for Z in ip_results:
for X in host_file:
if Z in X:
print Z, X
像这样:
192.168.1.1 192.168.1.1 主机 1
192.168.1.2 192.168.1.2 主机 2
192.168.1.3
即使没有匹配,我仍想打印 IP。 如有任何帮助,我们将不胜感激!
简单的解决办法是初始化一个匹配变量,然后如果它没有打开就打印一次ip。例如:
for Z in ip_results:
matching = 0
for X in host_file:
if Z in X:
print Z, X
matching = 1
if matching == 0:
print Z