Python 运行 在 .txt 文件的 IP 地址列表上进行 DNS 查找
Python running DNS lookups on a list of IP addresses from .txt file
我很难弄清楚如何让 python 对我的文本文件中的每个 IP 地址进行 DNS 查找。我收到 TypeError: getaddrinfo() argument 1 must be string or None。任何人都可以帮忙吗?
import socket
ip_list = open('output.txt', 'r')
ais = socket.getaddrinfo(ip_list, 0)
print(ais)
当您需要遍历文件迭代器并将字符串传递给函数时,您将 file
可迭代对象直接作为参数传递给 socket.getaddrinfo
。假设每一行包含一个IP:
with open('output.txt') as f:
for ip in f:
out = socket.getaddrinfo(ip, 0)
...
备注:
使用 with open...
上下文管理器自动 close()
文件对象,即使出现错误也无需显式调用 close()
默认情况下 open()
以读取 (r
) 模式打开文件,因此指定 r
是多余的,不会伤害顺便说一句。
我很难弄清楚如何让 python 对我的文本文件中的每个 IP 地址进行 DNS 查找。我收到 TypeError: getaddrinfo() argument 1 must be string or None。任何人都可以帮忙吗?
import socket
ip_list = open('output.txt', 'r')
ais = socket.getaddrinfo(ip_list, 0)
print(ais)
当您需要遍历文件迭代器并将字符串传递给函数时,您将 file
可迭代对象直接作为参数传递给 socket.getaddrinfo
。假设每一行包含一个IP:
with open('output.txt') as f:
for ip in f:
out = socket.getaddrinfo(ip, 0)
...
备注:
使用
with open...
上下文管理器自动close()
文件对象,即使出现错误也无需显式调用close()
默认情况下
open()
以读取 (r
) 模式打开文件,因此指定r
是多余的,不会伤害顺便说一句。