python控制ftp理论篇

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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章