【发布时间】:2016-04-07 02:40:38
【问题描述】:
这有点令人难以置信(至少对我而言)。我正在使用一个简单的 Python 脚本来返回一个使用 fping 的“up”主机列表。我将每个“up”主机存储在 Python 列表中,但是 list.sort() 显然不会根据存储为字符串的 IP 地址的最后一个八位字节进行排序。我想对 .1、.2、.3 等进行降序排序。
这是那部分代码:
for addr in os.popen("fping -a -q -g " + subnet):
addr = addr.rstrip('\n')
addr_list.append(addr)
addr_list.sort()
for ip in addr_list:
print ip
【问题讨论】:
-
给我们一个你的清单的例子。
-
addr_list在.sort()之前是什么样子的? -
octet?你说的是数字吗? -
@Reblochon - IP 地址中的四个数字中的每一个都称为八位字节,因为它由 8 位表示。例如IP地址192.168.1.101中,第一个八位字节为192,第二个八位字节为168,以此类推
-
你到底为什么想要按最后一个八位字节排序?不是说这种有用的情况不存在......它真的很奇怪。
标签: python networking ip