一、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的国际服务器 四、举例 [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]
五、源码 D33_6_FtpExample.py https://github.com/ruigege66/Python_learning/blob/master/D33_6_FtpExample.py
|