pytnon FTP编程-- ftplib 模块

 pytnon FTP编程:Python自带ftplib 模块,是用来对FTP服务器进行上传、下载操作,非常方便,使用起来也是行简单。

 如果我们熟悉了下面代码编写,怎么把FTP服务器上的文件下载到本地,怎么把文件上传到FTP服务器上和批量FTP上传、下载

就基本掌握了Python FTP编程。

 

 1 #-*- coding:utf-8 -*-  2 #author:[email protected]  3 #C_Date: 2011.11.17  4 from ftplib import FTP  5 import socket  6 import os  7 #ftp服务器地址  8 ftp_server = '127.0.0.1'  9 #ftp服务器端口  10 ftp_port ='5433'  11 #ftp服务器登录名称  12 user_name = 'lhj588'  13 #ftp服务器登录密码  14 password = '888888'  15  16  17 """  18 描述:描述:简单FTP文件下载  19 """  20 def upload_ftp():  21 ftp = FTP()  22 #打开调试级别2,显示详细信息  23 ftp.set_debuglevel(2)  24 #连接FTP服务器  25 ftp.connect(ftp_server,ftp_port)  26 #登录FTP服务器  如果匿名登录则用空串代替即可  27 ftp.login(user_name,password)  28  29 #显示FTP服务器欢迎信息  30 print ftp.getwelcome()  31  32 dir_name = "/mysoft/tool/"  33 #选择要上传文件存放服务器的目录  34 ftp.cwd(dir_name)  35 #设置缓冲块大小  36 buf_size = 1024  37 #文件名称  38 file_name = "test.jpg"  39 #以写模式在本地打开文件  40 f_handler = open(file_name,'wb').write()  41 #接收FTP服务器上文件并写入本地  42 ftp.retrbinary("RETR test.jpg",f_handler,buf_size)  43 #关闭调试  44 ftp.set_debuglevel(0)  45 #退出FTP服务器  46 ftp.quit()  47 """  48 描述:简单FTP文件上传  49 """  50 def down_ftp():  51 ftp = FTP()  52 #打开调试级别2,显示详细信息  53 ftp.set_debuglevel(2)  54 #连接FTP服务器  55 ftp.connect(ftp_server,ftp_port)  56 #登录FTP服务器  如果匿名登录则用空串代替即可  57 ftp.login(user_name,password)  58 print ftp.getwelcome()  59 dir_name = "/mysoft/tool/"  60 ftp.cwd(dir_name)  61 buf_size = 1024  62 file_name = 'test.jpg'  63 #以读模式在本地打开文件  64 f_handler = open(file_name,'rb')  65 #上传文件  66 ftp.storbinary('STOR server_test.jpg',f_handler,buf_size)  67 #关闭调试  68 ftp.set_debuglevel(0)  69 #关闭文件  70 f_handler.close()  71 #退出FTP服务器  72 ftp.quit()  73  74 """  75 描述:登录到FTP站点:ftp_server,并到tarDirTemp目录下下载fileNameTempList列表中的文件  76 参数:ftp_server:ftp站点名称   user_name:ftp登录名   password:ftp密码  77  tarDirTemp:下载的目标绝对目录   fileNameTempList:要下载的文件全名列表  78 返回值:输出:成功:0 失败:1  79 """  80 def down_ftp_file(ftp_server, user_name, password, tarDirTemp,fileNameTempList):  81 try:  82 ftp = FTP(ftp_server)  83 ftp.login(user_name, password)  84 ftp.cwd(tarDirTemp)  85 ftp.set_debuglevel(2)  86 except socket.error as errobj:  87 print 'fpt error: %s can\'t download directory\'s file %s' % (errobj, tarDirTemp)  88 return False  89  90 for filename in fileNameTempList:  91 try:  92 #以写模式在本地打开文件  93 fp = open(filename, 'wb')  94 #从FTP中下载文件  95 ftp.retrbinary('RETR '+filename, fp.write, 1024)  96 except IOError as ioerr:  97 print 'Error: [%s] %s' % (ioerr.errno, ioerr.strerror)  98 return False  99 except FTP.all_errors as errobj: 100 print 'fpt error: [%s] %s' % (errobj, filename) 101 if os.path.isfile(filename): 102 os.system('rm -f ' + filename) 103 continue 104 ftp.close() 105 return True 106 107 """ 108 描述:测试方法 109 """ 110 if __name__=="__main__": 111 upload_ftp() 112 down_ftp() 113 down_ftp_file(ftp_server,user_name,password,"/mysoft/tool/",['1.jpg','2.jpg','3.jpg'])

 


 

你可能感兴趣的:(pytnon FTP编程-- ftplib 模块)