来个基本印象
>>>from ftplib import FTP
>>>FTP = FTP('ftp.debian.org') # connect to host, default port
>>>FTP.login() # user anonymous, passwd anonymous@
'230 Login successful.'
>>>FTP.cwd('debian') # change into "debian" directory
>>>FTP.retrlines('LIST') # list directory contents
-rw-rw-r-- 1 1176 1176 1063 Jun 15 10:18 README
...
drwxr-sr-x 5 1176 1176 4096 Dec 19 2000 pool
drwxr-sr-x 4 1176 1176 4096 Nov 17 2008 project
drwxr-xr-x 3 1176 1176 4096 Oct 10 2012 tools
'226 Directory send OK.'
>>>FTP.retrbinary('RETR README', open('README', 'wb').write)
'226 Transfer complete.'
>>>FTP.QUIT()
-
methods 说明
-
FTP.set_debuglevel(level)
level可以是0,1,2 。数字越大,使用时给你反馈的信息就越多。
-
FTP.connect(host[,PORT[,timeout]])
三个参数,依次是地址、端口、 超时时间,端口默认是21
-
FTP.getwelcome()
获取欢迎信息,也可能是服务器发送的帮助信息
-
FTP.login([user[,passwd[,acct]]])
用户名、密码、账户信息(这个几乎不用),用来登录
-
FTP.abort()
终止正在传输的文件,有时候不管用,但值得试一试
-
FTP.sendcmd(command)
发送一个命令,返回响应信息
-
FTP.set_pasv(boolean)
是否采用passive模式
-
FTP.retrbinary(command,callback[,maxblocksize[,rest]])
二进制下载方式
-
FTP.retrlines(command[,callback])
ascii下载方式
-
FTP.storbinary(command,Documentation[,blocksize,callback,rest])
二进制上传方式
-
FTP.storlines(command,Documentation[,callback])
ascii上传方式
-
FTP.nlst(argument[,…])
只列出文件名
-
FTP.dir(argument[,…])
列出文件的详细信息
-
FTP.rename(fromname,toname)
改名称
-
FTP.delete(filename)
删除文件,如果失败会返回错误信息
-
FTP.cwd(pathname)
修改当前的工作目录(在服务器上)
-
FTP.mkd(pathname)
在服务器上新建一个目录
-
FTP.pwd()
显示当前工作路径
-
FTP.rmd(dirname)
删除目录
-
FTP.size(filename)
申请文件的大小,失败会返回None
-
FTP.quit()
先告诉服务器,礼貌的退出
-
FTP.close()
单方强制关掉