【发布时间】:2012-11-13 02:37:33
【问题描述】:
所以,我将这个 IP 列表保存在 CSV 文件中。只有一列,如果我对文件进行分类,它们都出现在不同的行上,并且文件命令告诉我它是 ASCII 文本。
但是,当我尝试遍历文件并解析不同 IP:s 的地址时,我收到错误“socket.herror: [Errno 1] Unknown host”。
由于某种原因,单元格的值不是正确的字符串,我无法将其转换为字符串。
from string import rstrip
from socket import gethostbyaddr
csv_file = open('csv_list.csv', "r")
for line in csv_file:
dns_name = gethostbyaddr(str(line.rstrip('\n')))
print "IP: " + line.rstrip('\n') + "DNS Name:" + dns_name[0]
有没有办法解决这个问题?我一直在考虑将文件转换为纯文本文件,将文件中的所有值添加到列表中,但我不确定最好的解决方案是什么。
有人有什么想法吗?
提前致谢!
【问题讨论】:
-
样本输入数据会很方便...
-
不用
str()这一行,已经是字符串了。试试gethostbyaddr(line.strip())(去掉所有空格,而不仅仅是换行符)。