使用CSV工具包将新列添加到CSV并使用socket.gethostname()的结果填充该列

时间:2016-01-05 08:53:29

标签: python python-2.7 sockets csv csvkit

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

我做了一些搜索并且打了一堵墙。此外,我必须强调,我对Python非常陌生,这是我正在做的事情,以增加我的知识。

我在OS X上使用python 2.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   /Users/xxxxxx/PycharmProjects/typosquating/IP_lookup.py Traceback   (最近一次调用最后一次):文件   “/Users/xxxxxx/PycharmProjects/typosquating/IP_lookup.py”,第10行,   在       IP = socket.gethostname(row)TypeError:gethostname()不带参数(给定1个)

     

使用退出代码1完成处理

任何人都可以了解我正在做什么吗?我可以以同样的方式在另一个脚本上使用socket.gethostname()来遍历results.csv文件的内容,并在屏幕上输出每个主机名的相关IP,但它似乎在这种用法中失败。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

socket.gethostname() 没有参数 你在寻找什么 socket.gethostbyname(hostname)

您可能需要RTFM