python中的ftplib模块提供了用于访问FTP的函数,使用ftplib模块可以在python脚本中访问ftp,完成文件的上传下载
ftplib模块简介
创建一个ftp连接对象。其原型如下:
FTP(host, user, passwd, acct)
- host 服务器主机
- user 服务器用户名
- passwd 服务器用户的密码
- acct 默认为空,一般不做设置
下面再介绍一些方法供更多的操作
connect(host,port)
host 连接的ftp服务器
port 服务器是端口
login(user,passwd,acct)
- user 登录ftp服务器所使用的用户名
- passwd 登录fto服务器所使用的密码
- acct 可选参数,默认为空
另外有趣的是:
欢迎和中断文件传输方法
- getwelcome 可以获得ftp服务器的欢迎信息
- abort 中断文件传输
sendcmd(command)与voidcmd(command)
可以向ftp服务器发送命令
retrbinary与retrlines方法下载文件
前者从服务器下载二进制形式传输文件,而retrlines方法使用ascii形式传输文件。
- retrbinary(command, callback, maxblocksize, rest)
- retrlines(command,callback)
对于retribinary,其参数含义如下: - command 传输命令,由“RETR+文件名”组成(之间有空格)
- callback 传输回调函数
- maxblocksize 设置每次传输的最大字节数,可选参数
- rest 设置文件的续传位置,可选参数
对于retrlines,其参数含义如下:
- command 传输命令
- callback 传输回调函数
storbinary与storlines方法上传文件
前者向服务器上传二进制文件,后者上传ascii形式传输文件
storbinary(command,file.blocksize)
storlines(command,file)
其中前者参数:
- command 传输命令,由“STOR+文件名” 组成(之间有空格)
- file 本地文件句柄
- blocksize 设置每次读取文件的最大字节数,可选参数
后者storlines参数含义:
- command 传输命令
- file 本地文件句柄
set_pasv(boolean)传输模式
set_pasv(boolean)
其中如果参数boolean为True,则为被动模式;如果为False,则为主动模式
dir方法查看当前目录内容列表
使用FTP对象的dir方法可以获取当前目录中的内容列表
rename修改服务器中的文件名
rename(fromname,toname)
其参数含义如下:
- fromname 原来文件名
- toname 重命名后的文件
delete删除服务器中的文件
delete(filename)
cwd更改当前目录
cwd(pathname)
mkd创建ftp目录
mkd(pathname)
pwd获得当前目录
pwd()
rmd删除目录
rmd(dirname)
size获得文件的大小
size(filename)
quit与close关闭ftp服务器连接
close()
quit()