我有两个变量readARP和readFPING,其中列出了一系列IP,我想比较一个。在比较它们之后,我想打印出差异,如果有的话。
readARP = scanProcess.read()
readFPING = fpingscanPocess.read()
>>> print readARP
192.168.1.1
192.168.1.100
192.168.1.1
>>> print readFPING
192.168.1.1
192.168.2.1
192.168.1.12
我想比较两者,然后打印192.168.2.1 192.168.1.12 192.168.1.100,因为它们是两者所独有的。
P.S。什么是“readFPING”在python中被称为我已经改编了术语变量
在找出不同之处后,我怎样才能将变量添加到变量中。 示例:192.168.1.2不在readFPING中,但我想添加它(创建主ip列表)
答案 0 :(得分:3)
尽可能简单。您可以使用集合symmetric_difference在输入源中查找唯一元素。
readARP=scanProcess.read()
readFPING = fpingscanPocess.read()
print readARP
192.168.1.1
192.168.1.100
192.168.1.1
print readFPING
192.168.1.1
192.168.2.1
192.168.1.12
print '\n'.join(set(readARP.splitlines()).symmetric_difference(readFPING.splitlines()))
192.168.1.100
192.168.2.1
192.168.1.12
答案 1 :(得分:2)
for IP in readARP:
if IP not in readFPING:
print IP
for IP in readFPING:
if IP not in readARP:
print IP
显然有更简单的方法可以做到这一点,但由于你是Python的新手,我会保持简单。