python实现从FTP下载数据

来源:sxf_0123 发布时间:2018-11-03 16:16:36 阅读量:1124

#!/usr/bin/python3

#-*-coding:utf-8-*-

"""

FTP常用操作

"""

from ftplib import FTP

import os


class FTP_OP(object):

    def __init__(self, host, username, password, port):

        """

        初始化ftp

        :param host: ftp主机ip

        :param username: ftp用户名

        :param password: ftp密码

        :param port:  ftp端口 (默认21)

        """

        self.host = host

        self.username = username

        self.password = password

        self.port = port

    def ftp_connect(self):

        """

        连接ftp

        :return:

        """

        ftp = FTP()

        ftp.set_debuglevel(0)  # 不开启调试模式

        ftp.connect(host=self.host, port=self.port)  # 连接ftp

        ftp.login(self.username, self.password)  # 登录ftp

        return ftp

    def download_file(self, ftp_file_path, dst_file_path):

        """

        从ftp下载文件到本地

        :param ftp_file_path: ftp下载文件路径

        :param dst_file_path: 本地存放路径

        :return:

        """

        buffer_size = 10240  #默认是8192

        ftp = self.ftp_connect()

        # print(ftp.getwelcome()) #显示登录ftp信息

        file_list = ftp.nlst(ftp_file_path)

        for file_name in file_list:

            ftp_file = os.path.join(ftp_file_path, file_name)

            write_file = os.path.join(dst_file_path, file_name)

            with open(write_file, "wb") as f:

                ftp.retrbinary('RETR {0}'.format(ftp_file), f.write, buffer_size)

            f.close()

        ftp.quit()


if __name__ == '__main__':

    host = "10.0.0.1"

    username = "test"

    password = "test"

    port = "21"

    ftp_file_path = "/data/ana"

    dst_file_path = "/data/tmp"

    ftp = FTP_OP(host=host, username=username, password=password, port=port)

    ftp.download_file(ftp_file_path=ftp_file_path, dst_file_path=dst_file_path

                      

                      

--------------------- 

作者:sxf_0123 

来源:CSDN 

原文:https://blog.csdn.net/sxf_123456/article/details/80247342 

版权声明:本文为博主原创文章,转载请附上博文链接!


标签: 服务器搭建
分享:
评论:
你还没有登录,请先