Python笔记:利用ftplib标准库创建一个简单的FTP文件传输客户端

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客户端可以使用

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FTP Library Routines Release 4.0 Thomas Pfau (tfpfau@gmail.com) June 7, 2013 This package implements a callable interface to FTP. The FTP protocol is specified in RFC 959. The library has been tested on linux, OpenVMS and Windows NT. It should also work without major modification on other POSIX systems. All programs using the library should include ftplib.h. FTP开源。 Miscellaneous Functions FtpInit() - Initialize the library FtpSite() - Send a 'SITE' command FtpLastResponse() - Retrieve last server response FtpSysType() - Determine remote system type FtpSize() - Determine size of remote file FtpSizeLong() - Determine size of remote file FtpModDate() - Determine modification time of file FtpSetCallback() - Establish a callback function FtpClearCallback() - Remove a callback function Server Connection FtpConnect() - Connect to a remote server FtpLogin() - Login to remote machine FtpQuit() - Disconnect from remote server FtpOptions() - Set Connection Options Directory Functions FtpChdir() - Change working directory FtpMkdir() - Create a directory FtpRmdir() - Remove a directory FtpDir() - List a remote directory FtpNlst() - List a remote directory FtpCDUp() - Change to parent directory FtpPwd() - Determine current working directory File to File Transfer FtpGet() - Retreive a remote file FtpPut() - Send a local file to remote FtpDelete() - Delete a remote file FtpRename() - Rename a remote file File to Program Transfer These routines allow programs access to the data streams connected to remote files and directories. FtpAccess() - Open a remote file or directory FtpRead() - Read from remote file or directory FtpWrite() - Write to remote file FtpClose() - Close data connection Utilities qftp - Command line ftp utility

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值