使用CSV工具包向CSV添加一个新列,并用socket.gethostname()中的结果填充它



我正试图编写一个python脚本来解析一个csv文件(results.csv),该文件采用其中列出的主机名,查找eac主机名的IP地址,并将此数据附加到csv文件的新列中。

我做了一些搜索,碰到了一堵墙。此外,我必须强调,我对Python非常陌生,这是我为增加知识而做的事情。

我在OSX上使用python2.7.x,我的代码如下:

#!/usr/bin/python
import socket
import csvkit
with open('results.csv', 'rb') as infile:
    with open('output.csv', 'wb') as outfile:
        writer = csvkit.writer(outfile)
        for row in csvkit.reader(infile):
            IP = socket.gethostname(row)
            writer.writerow(row+[IP])

当我在PyCharm中运行此程序时,我会得到以下错误:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7/用户/xxxxxxx/PycharmProjects/typeosquating/IP_lookup.py Traceback(最近一次通话):文件"/Users/xxxxxx/PycharmProjects/typeosquating/IP_lookup.py",第10行,在里面IP=套接字.ghostname(行)类型错误:gethostname()不接受任何参数(给定1个)

进程结束,退出代码为1

有人能告诉我我在干什么吗?我可以按照上面的相同方式在另一个脚本上使用socket.gethostname()来查看results.csv文件的内容,并在屏幕上输出每个主机名的相关IP,但在这种使用中似乎失败了。

谢谢你的帮助。

socket.gethostname()不接受任何参数你要找的是socket.gethostbyname(hostname)

您可能想要RTF

最新更新