ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 从FTP目录取文件

2022-06-04 13:00:26  阅读:166  来源: 互联网

标签:__ FTP ftp python self port file path 目录



from ftplib import FTP
import os
class FTP_OP:
    def __init__(self, host, username, password, port , passive):
        self.host = host
        self.username = username
        self.password = password
        self.port = port
        self.pasv = passive
    def ftp_connect(self):
        ftp = FTP()
        ftp.encoding = 'gbk'
        ftp.set_debuglevel(0) 
        ftp.connect(self.host,self.port)
        ftp.login(self.username, self.password) 
        ftp.set_pasv(self.pasv)
        return ftp
    def download_file(self, ftp_file_path, dst_file_path):
        buffer_size = 8192
        ftp = self.ftp_connect()
        print(ftp.getwelcome() )
        file_list = ftp.nlst(ftp_file_path)
        for file_name in file_list:
            #print("file_name:"+file_name)
            ftp_file = os.path.join(ftp_file_path, file_name)
            #print("ftp_file:"+ftp_file)
            write_file = dst_file_path+os.path.basename(file_name)
            #print("write_file:"+write_file)
            with open(write_file, "wb") as f:
                ftp.retrbinary('RETR %s' % ftp_file, f.write, buffer_size)
        ftp.quit()
 
if __name__ == '__main__':
    host = "192.168.80.130"
    username = 'ftpuser'
    password = '123456'
    port = 21
    ftp_filefolder = "/test/"  
    dst_filefolder = "d:/1/"  
    ftp = FTP_OP(host, username, password, port,passive = False)
    ftp.download_file(ftp_filefolder, dst_filefolder)

参考

https://docs.python.org/3.6/library/ftplib.html
http://www.cppcns.com/jiaoben/python/368057.html
https://blog.csdn.net/ouyang_peng/article/details/79271113

标签:__,FTP,ftp,python,self,port,file,path,目录
来源: https://www.cnblogs.com/marit/p/16341690.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有