一、FTP工作流程
1.客户端链接远程主机上的FTP服务器
2.客户端输入用户名和密码(或者“anonymous”和电子邮件地址)
3.客户端和服务器进行各种文件传输和信息查询操作
4.客户端从远程FTP服务器退出,结束传
二、FTP文件表示
1.分三段表示FTP服务器上的文件
2.HOST:主机地址,类似于ftp.mozilla.org,以ftp开头
3.DIR:目录,表示文件所在本地的地址,例如:pub/andorid/focus/1.1
4.File:文件名称,例如:Klar-1.1-RC1.apk
如果想要完整精确的表示ftp上某一个文件,需要上述三个部分组合在一起
三、网址:ftp.mozilla.org/
这是一个ftp的国际服务器

四、举例
[url=]
[/url]
[/url]import
ftplibimport
osimport
socket#
三部分精确表示ftp服务器上的某一个文件
#
好多公开ftp服务器访问会出错或者没有反应
HOST = "
ftp.acc.umu.se
"
DIR = "
Public/EFLIB
"
FILE = "
README
"
#
1.客户端连接远程主机上的ftp服务器
try
: f = ftplib.FTP()#
建立一个FTP对象
#
通过设置调试级别可以方便调试
f.set_debuglevel(2) #
链接主机地址
f.connect(HOST)except
Exception as e: print
(e) exit()print
("
***Connected to host {0}
"
.format(HOST))try
: #
登录如果没有输入用户信息,则默认使用匿名登录
f.cwd(DIR)#
更换目录
except
Exception as e: print
(e) exit()print
("
*** Changed dir to {0}
"
.format(DIR))try
: #
从FTP服务器上下载文件
#
第一个参数是ftp命令
#
第二个参数是回调函数
#
此函数的意思是,执行RETR命令,下载文件到本地之后,运行回调函数
f.retrbinary("
RETR {0}
"
.format(FILE),open(FILE,"
wb
"
).write)except
Exception as e: print
(e) exit()#
4.客户端从远程FTP服务器退出,结束传输
f.quit()[url=]
[/url]
[/url]
五、源码
D33_6_FtpExample.py
https://github.com/ruigege66/Python_learning/blob/master/D33_6_FtpExample.py