Python 中的 FTP 协议客户端


最重要的 ftplib 模块中的 FTP 类实现了 FTP 协议的客户端。

要与 FTP 服务器建立连接,请获取 FTP 对象。

con=FTP(hostname)

FTP 类支持以下方法:

connect()

连接到给定的主机和端口。默认端口号为 21,如 FTP 协议规范中所指定。

getwelcome()

返回服务器在响应初始连接时发送的欢迎消息。

login(user='anonymous', passwd='', acct='')

以给定用户身份登录。passwd 和 acct 参数是可选的,默认为空字符串。如果未指定用户,则默认为“anonymous”。如果用户为“anonymous”,则默认 passwd 为“anonymous@”。

abort()

中止正在进行的文件传输。

retrbinary(cmd, callback, blocksize=8192, rest=None)

以二进制传输模式检索文件。cmd 应为适当的 RETR 命令:“RETR filename”。

Storbinary()

以二进制传输模式存储文件。cmd 应为适当的 STOR 命令:“STOR filename”。fp 是一个文件对象(以二进制模式打开),使用其 read() 方法读取直到 EOF。

dir()

生成 LIST 命令返回的目录列表,并将其打印到标准输出。

delete(filename)

从服务器删除名为 filename 的文件。

cwd(pathname)

设置服务器上的当前目录。

mkd(pathname)

在服务器上创建一个新目录。

FTP.pwd()

返回服务器上当前目录的路径名。

rmd(dirname)

删除服务器上名为 dirname 的目录。

size(filename)

请求服务器上名为 filename 的文件的大小。如果成功,则文件大小将作为整数返回,否则返回 None。请注意,SIZE 命令未标准化,但许多常见的服务器实现都支持它。

Quit()

向服务器发送 QUIT 命令并关闭连接。

以下示例使用匿名连接建立与服务器的连接,将文件下载到本地文件夹并上传本地文件。

from ftplib import FTP
import os
def downloadFile():
   filename = 'README.MIRRORS'
   localfile = open(filename, 'wb')
   ftp.retrbinary('RETR ' + filename, localfile.write, 1024)
   ftp.quit()
   localfile.close()
def uploadFile():
   filename = '/home/malhar/file.txt'
   ftp.storbinary('STOR '+filename, open(filename, 'rb'))
   ftp.quit()
with FTP("ftp1.at.proftpd.org") as ftp:
   ftp.login()
   ftp.getwelcome()
   ftp.dir()
   downloadFile()
   uploadFile()

更新于: 2019-07-30

899 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告