-1

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

我已经做了一些搜索并且遇到了一些问题。另外我必须强调,我对 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,但这种用法似乎失败了。

谢谢你的帮助。

4

1 回答 1

0

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

您可能想要RTFM

于 2016-01-05T09:26:52.547 回答