我有一个简单的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 host1
192.168.1.2 192.168.1.2 host2
192.168.1.3
即使没有匹配,我仍想打印IP。 非常感谢任何帮助!
答案 0 :(得分:1)
简单的解决方案是初始化一个匹配变量,然后打开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