gpt4 book ai didi

python - 处理python中的telnetlib超时错误

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:35 25 4
gpt4 key购买 nike

我正在尝试编写一个 python 脚本来建立与一系列主机的 telnet 连接(使用 telnetlib):

for i in range(len(HOST)):
print "scanning " + HOST[i] + " ...\n"
tn = telnetlib.Telnet(HOST[i],23,3)

问题是当其中一个连接超时时,脚本执行会中断并返回以下错误:

Traceback (most recent call last):
File "C:\Python27\telnet.py", line 24, in <module>
tn = telnetlib.Telnet(HOST[i],23,3)
File "C:\Python27\lib\telnetlib.py", line 209, in __init__
self.open(host, port, timeout)
File "C:\Python27\lib\telnetlib.py", line 225, in open
self.sock = socket.create_connection((host, port), timeout)
File "C:\Python27\lib\socket.py", line 571, in create_connection
raise err
socket.timeout: timed out

有人知道如何跳过此错误并继续执行脚本吗?

最佳答案

您需要使用 try... except block 来捕获异常并告诉解释器忽略它。例如:

import socket

for i in range(len(HOST)):
print "scanning " + HOST[i] + " ...\n"
try:
tn = telnetlib.Telnet(HOST[i],23,3)
except socket.timeout:
pass

在这种情况下,最好明确声明要捕获的异常 (socket.timeout)。套接字可以引发许多不同类型的异常,因此使用通用 except: 语句可能会掩盖打开、读取或写入套接字时出现的问题。

关于python - 处理python中的telnetlib超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660890/

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