尝试在Python中处理FTP库。 :)
到目前为止。
from ftplib import FTP
server = '127.0.0.1'
port = '57422'
print 'FTP Client (' + server + ') port: ' + port
try:
ftp = FTP()
ftp.connect(server, port, 3)
print 'Connected! Welcome msg is \"' + ftp.getwelcome() + '\"'
ftp.cwd('\\')
x = '1'
currentDir = ''
except: //***What do I put here?***
http://docs.python.org/library/ftplib.html 说我可以捕获几个错误代码,但我不能这样做
除外:ftplib.all_errors
第二个问题。 :P 如何检索有关错误的更多具体信息?也许是错误代码?
非常新的python(一小时左右)。
答案 0 :(得分:17)
我无法做到
except: ftplib.all_errors
当然不是,这只是糟糕的语法!但当然你可以用正确的语法来做到这一点:
except ftplib.all_errors:
,即在异常元组之后的冒号。
如何检索更具体的内容 有关错误的信息?也许是 错误代码?
except ftplib.all_errors, e:
errorcode_string = str(e).split(None, 1)[0]
例如,当'530'
完整的错误消息时,errorcode_string
现在将是'530 Login authentication failed'
的值。
您可以在docs。
中找到其余的例外情况答案 1 :(得分:3)
你写
except Exception, e: #you can specify type of Exception also
print str(e)
答案 2 :(得分:2)
除非必须,否则你不想尝试捕获异常类。异常是一个catch all,而是捕获抛出的特定类,socket.error
import ftplib
import socket <--
server = '127.0.0.1'
port = '57422'
print 'FTP Client (' + server + ') port: ' + port
ftp = ftplib.FTP()
try:
ftp.connect(server, port, 3)
print 'Connected! Welcome msg is \"' + ftp.getwelcome() + '\"'
ftp.cwd('\\')
x = '1'
currentDir = ''
except socket.error,e: <--
print 'unable to connect!,%s'%e