ftplib内置标准库简介
ftplib是python的内置的一个标准模块,它提供了极强大的对FTP服务器的操作,通过它我们可以连接并操作FTP服务端。
当使用python语言开发FTP程序时,需要将相应的Python模块ftplib导入项目程序中,具体开发流程如下图所示:
(1)连接到服务器
(2)登录
(3)发出服务请求(希望能得到响应)
(4)退出
在使用Python程序语言开发FTP程序时,首先导入ftplib模块,然后实例化一个ftplib.FTP类对象,所有的FTP操作(如登录,传输文件和注销等)都要使用这个对象完成。使用类FTP可以创建一个FTP连接对象。具体语法如下图所示:
FTP(host,user,passwd,acct)
- host:要连接的FTP服务器。可选参数
- user:登录FTP服务器所使用的用户名,可选参数
- passwd:登录FTP服务器所使用的的密码,可选参数
- acct:可选参数,默认为空
当实例化完一个FTP连接对象后,接着下表解释了FTP对象常用方法:
方法 | 说明 |
---|---|
set_debuglevel(level) | 设置调试级别。所需参数级别表示–>0:无调试输出(默认);1:打印命令和响应,但不打印正文等;2:在剥去CR/LF之前,还打印读取和发送的原始行 |
connect(host,port,timeout,source-address) | 如果在创建FTP连接对象时没有使用参数host,则可以使用FTP对象中的方法connect() |
login(user,passwd,acct) | user:登录用户FTP服务器所使用的用户名;passwd:登录FTP服务器所使用的的密码;acct:可选参数,默认为空 |
retrbinary(cmd, callback, blocksize, rest) | 以二进制形式从FTP服务器下载文件。cmd:传输命令,由"RETR +文件名"组成(之间有空格);callback:调用回调函数;blocksize设置每次传输的最大字节数,可选;rest:设置文件续传位置,可选参数 |
retrlines(cmd, callback) | 以ASCII码形式从FTP服务器下载文件。cmd:传输命令,由"RETR +文件名"组成(之间有空格);callback:调用回调函数 |
storbinary(cmd, fp, blocksize, callback, rest) | 以二进制形式向FTP服务器上传文件。cmd:传输命令,由"STOR +文件名"组成(之间有空格);fp:本地文件句柄;blocksize:每次读取文件的最大字节数,可选参数;callback:调用回调函数;rest:设置文件续传位置,可选参数 |
storlines(cmd, fp, callback) | 以ASCII码形式向FTP服务器上传文件。cmd:传输命令;fp:本地文件句柄;callback:回调函数 |
dir(*args) | 获取当前目录中的内容列表 |
rename(fromname, toname) | fromname:原来的文件名;toname:重命名后的文件名 |
delete(filename) | 从FTP服务器上删除文件。filename为要删除的文件名 |
cwd(dirname) | 可改变FTP服务器当前目录。dirname是要进入FTP服务器目录的路径 |
mkd(dirname) | 在FTP服务器上创建目录。 |
pwd() | 获取当前ftp服务器目录 |
rmd() | 可以删除FTP服务器上的目录 |
size(filename) | 可以获取FTP服务器上某个文件的大小。filename表示要获取文件大小的文件名 |
利用微软windows的IIS创建FTP服务器
要编写一个客户端程序操作FTP服务器,首先要有一个FTP服务器,由于访问网站上已有的FTP服务器,需要非常大的编程量,且需要配置的东西非常多,出错概率大,所以作为测试,就在本地创建一个FTP服务器。FTP服务器是IIS的一个组件,配置和管理都非常简单,但功能非常强大。
安装FTP服务器
配置FTP服务器
FTP服务安装完成后,需要用户自己创建一个FTP站点,并设置相应的IP地址和端口号等。
一般情况下,FTP服务器默认TCP端口为21.FTP客户端可以使用