3

我正在使用 ftplib 模块上传文件:

    files = [ a.txt , b.txt , c.txt ]

    s = ftplib.FTP(ftp_server , ftp_user , ftp_pw) # Connect to FTP
    for i in range(len(files)):
            f = open(files[i], 'rb')
            stor = 'stor ' + files[i]
            s.storbinary(stor, f)
            f.close() # close file
    s.quit() # close ftp

如何捕获以下错误?

socket.error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

使用我还应该捕获的 FTP 模块时,还有哪些常见错误?

感谢您的任何帮助或指点。

4

2 回答 2

3
import socket

try:
    s = ftplib.FTP(ftp_server , ftp_user , ftp_pw) # Connect to FTP
except socket.error, e:
    print "do something with %s" % e

这将捕获所有套接字错误(无论它们的“errno”是什么——10000 及以上的都是 Windows 特定的,它们在 Unix 上非常不同)。

有关可能引发的其他异常,请参阅文档;它们都在元组中ftplib.all_errors(原样socket.error和最后一个大人物,IOError),所以你可以轻松地用except ftplib.all_errors, e:.

于 2010-05-13T02:01:43.660 回答
2

我有一个类似的错误。我必须做的是在该行捕获 socket.error

s.storbinary(stor, f)

以及初始连接。

于 2010-11-03T18:45:04.567 回答