Использование набора CSV для добавления нового столбца в CSV и заполнения его результатами из socket.gethostname()
Я пытаюсь написать сценарий Python для анализа файла CSV (results.csv), который принимает имена хостов, перечисленные в нем, ищет IP-адреса для каждого имени хоста и добавляет эти данные в файл CSV в новом столбце.
Я сделал некоторые поиски и ударил немного стены. Также я должен подчеркнуть, что я новичок в Python, и это то, что я делаю, чтобы расширить свои знания.
Я использую Python 2.7.x на OS 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 ответ
socket.gethostname()
не принимает аргументов То, что вы ищете, это socket.gethostbyname(hostname)
Вы могли бы хотеть RTFM