# -*- coding: utf-8 -*-
from ftplib import FTP
def mkdir(folder):
try:
if os.path.exists(folder):
return True
else:
print 'mkdir ' + folder
os.mkdir(folder)
return True
except:
return False
def downFromFtp(server, port, user, password, fromPath, toPath):
mkdir(toPath)
try:
#设置变量
ftp = FTP()
#打开调试级别2,显示详细信息
ftp.set_debuglevel(0)
#连接的ftp sever和端口
ftp.connect(server, port)
#连接的用户名,密码
ftp.login(user, password)
#获取目录下的文件
li = ftp.nlst(fromPath)
#循环所有文件
for eachfile in li:
print eachfile
#设置的缓冲区大小
bufsize = 1024
file_path = toPath+ '/' + eachfile.split('/')[-1]
if os.path.exists(file_path):
print 'delete:' + file_path
os.remove(file_path)
time.sleep(5)
#在本地打开文件
fp = open(file_path, 'wb+')
#接收服务器上文件并写入本地文件
ftp.retrbinary('RETR ' + eachfile, fp.write, bufsize)
fp.flush()
fp.close()
return True
except Exception as ex:
traceback.print_exc();
pass;
return False
finally:
try:
ftp.quit()
except Exception as ec:
pass
if __name__ == '__main__':
"""
main
"""
downFromFtp(ftp_ip, ftp_port, ftp_user, ftp_pass,from_path,to_path)
转载于:https://my.oschina.net/u/1161660/blog/1593629