gpt4 book ai didi

python - 简单 python 模块出错

转载 作者:行者123 更新时间:2023-11-30 23:46:07 25 4
gpt4 key购买 nike

我今天尝试编写一个小Python脚本,但是失败了。为什么从 shell 调用下面的代码后会出现以下错误?

错误

File "./testmod.py", line 15, in <module>
printdnsfile(sys.argv[1])
File "./testmod.py", line 10, in printdnsfile
print(socket.gethostbyname(str(line)))
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

代码

#!/usr/bin/python

def printdnsfile(file):
file= open (file,"r")
import socket
dest = open("/dnsfile.txt",'w')
for line in file:
print(socket.gethostbyname(str(line)))
print>>dest, str(",".join([line,socket.gethostbyname(line)])+'\n')

if __name__ == "__main__":
import sys
printdnsfile(sys.argv[1])

我在 python 控制台中测试了套接字模块,它按预期工作。我的代码有错误还是我的配置有问题?

谢谢。

最佳答案

您的输入文件中可能有一个空行。在 gethostbyname 之前尝试检查您的线路。

def printdnsfile(file):
file= open (file,"r")
import socket
dest = open("/dnsfile.txt",'w')
for line in file:
line = line.strip()
if line:
print(socket.gethostbyname(str(line)))
print>>dest, str(",".join([line,socket.gethostbyname(line)])+'\n')

关于python - 简单 python 模块出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com