#-*- coding:utf-8 -*-
#author:lhj588@live.cn
#C_Date: 2011.11.17
from ftplib import FTP
import socket
import os
#ftp服务器地址
ftp_server = '127.0.0.1'
#ftp服务器端口
ftp_port ='5433'
#ftp服务器登录名称
user_name = 'lhj588'
#ftp服务器登录密码
password = '888888'
"""
描述:描述:简单FTP文件下载
"""
def upload_ftp():
ftp = FTP()
#打开调试级别2,显示详细信息
ftp.set_debuglevel(2)
#连接FTP服务器
ftp.connect(ftp_server,ftp_port)
#登录FTP服务器 如果匿名登录则用空串代替即可
ftp.login(user_name,password)
#显示FTP服务器欢迎信息
print ftp.getwelcome()
dir_name = "/mysoft/tool/"
#选择要上传文件存放服务器的目录
ftp.cwd(dir_name)
#设置缓冲块大小
buf_size = 1024
#文件名称
file_name = "test.jpg"
#以写模式在本地打开文件
f_handler = open(file_name,'wb').write()
#接收FTP服务器上文件并写入本地
ftp.retrbinary("RETR test.jpg",f_handler,buf_size)
#关闭调试
ftp.set_debuglevel(0)
#退出FTP服务器
ftp.quit()
"""
描述:简单FTP文件上传
"""
def down_ftp():
ftp = FTP()
#打开调试级别2,显示详细信息
ftp.set_debuglevel(2)
#连接FTP服务器
ftp.connect(ftp_server,ftp_port)
#登录FTP服务器 如果匿名登录则用空串代替即可
ftp.login(user_name,password)
print ftp.getwelcome()
dir_name = "/mysoft/tool/"
ftp.cwd(dir_name)
buf_size = 1024
file_name = 'test.jpg'
#以读模式在本地打开文件
f_handler = open(file_name,'rb')
#上传文件
ftp.storbinary('STOR server_test.jpg',f_handler,buf_size)
#关闭调试
ftp.set_debuglevel(0)
#关闭文件
f_handler.close()
#退出FTP服务器
ftp.quit()
"""
描述:登录到FTP站点:ftp_server,并到tarDirTemp目录下下载fileNameTempList列表中的文件
参数:ftp_server:ftp站点名称 user_name:ftp登录名 password:ftp密码
tarDirTemp:下载的目标绝对目录 fileNameTempList:要下载的文件全名列表
返回值:输出:成功:0 失败:1
"""
def down_ftp_file(ftp_server, user_name, password, tarDirTemp,fileNameTempList):
try:
ftp = FTP(ftp_server)
ftp.login(user_name, password)
ftp.cwd(tarDirTemp)
ftp.set_debuglevel(2)
except socket.error as errobj:
print 'fpt error: %s can\'t download directory\'s file %s' % (errobj, tarDirTemp)
return False
for filename in fileNameTempList:
try:
#以写模式在本地打开文件
fp = open(filename, 'wb')
#从FTP中下载文件
ftp.retrbinary('RETR '+filename, fp.write, 1024)
except IOError as ioerr:
print 'Error: [%s] %s' % (ioerr.errno, ioerr.strerror)
return False
except FTP.all_errors as errobj:
print 'fpt error: [%s] %s' % (errobj, filename)
if os.path.isfile(filename):
os.system('rm -f ' + filename)
continue
ftp.close()
return True
"""
描述:测试方法
"""
if __name__=="__main__":
upload_ftp()
down_ftp()
down_ftp_file(ftp_server,user_name,password,"/mysoft/tool/",['1.jpg','2.jpg','3.jpg'])
pytnon FTP编程-- ftplib 模块
精选 转载上一篇:nginx结合活动目录认证
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
















