Python 了解FTP是否仍与ftplib连接
我想知道是否有一种简单的方法可以使用ftplib知道到FTP服务器的连接是否仍然处于活动状态 因此,如果您有这样的活动连接:Python 了解FTP是否仍与ftplib连接,python,ftp,ftplib,Python,Ftp,Ftplib,我想知道是否有一种简单的方法可以使用ftplib知道到FTP服务器的连接是否仍然处于活动状态 因此,如果您有这样的活动连接: import ftplib ftp = ftplib.FTP("ftp.myserver.com", "admin", "pass123") 是否可以查询以下伪代码来检查连接是否仍然处于活动状态 if ftp.is_connected() == True: print "Connection still active" else: print "Disc
import ftplib
ftp = ftplib.FTP("ftp.myserver.com", "admin", "pass123")
是否可以查询以下伪代码来检查连接是否仍然处于活动状态
if ftp.is_connected() == True:
print "Connection still active"
else:
print "Disconnected"
您可以尝试从服务器检索某些内容,捕获任何异常,并基于此返回是否已连接 例如:
def is_connected(ftp_conn):
try:
ftp_conn.retrlines('LIST')
except (socket.timeout, OSError):
return False
return True
这个简单的示例将把“列表”结果打印到stdout,您可以通过将自己的回调放入
(请确保在初始FTP对象构造中设置了超时,因为默认设置为无。)
哦,对了,这其实是一个非常简单的方法。谢谢
ftp = ftplib.FTP("ftp.gnu.org", timeout=5, user='anonymous', passwd='')