# -*- coding: utf-8 -*- import os import posixpath from odoo.modules import get_resource_path from ftplib import FTP import logging # FTP接口类 class FtpController(): ''' 这是ftp接口类,在类初始化的时候就连接了ftp服务器,能否成功连接有反馈。 类中定义了两个接口:上传接口和删除接口 ''' ftp = FTP() def __init__(self, host="192.168.50.202", port=21, username="ftpuser", password="123456"): try: self.ftp.connect(host, port) self.ftp.login(username, password) except: logging.info("连接失败: ") # 下载目录下的文件 def download_file_tree(self, remotepath, serverdir): if not os.path.exists(serverdir): os.makedirs(serverdir) self.ftp.cwd(remotepath) remotenames = self.ftp.nlst() for file in remotenames: server = os.path.join(serverdir, file) if file.find(".") != -1: self.download_file(server, file) else: return False # 下载指定目录下的指定文件 def download_file(self, serverfile, remotefile): file_handler = open(serverfile, 'wb') self.ftp.retrbinary('RETR ' + remotefile, file_handler.write) file_handler.close()