zoukankan      html  css  js  c++  java
  • ftp 备份脚本

    # python3.6
    from ctypes import *
    import os
    import datetime
    import ftplib
    import time
    
    
    class myFtp:
        ftp = ftplib.FTP()
    
        def __init__(self, host, port=21):
            self.ftp.connect(host, port)
            self.ftp.encoding = "utf8"
    
        def Login(self, user, passwd):
            self.ftp.login(user, passwd)
    
        def DownLoadFile(self, LocalFile, RemoteFile):  # 下载当个文件
            file_handler = open(LocalFile, 'wb')
            print(file_handler)
            self.ftp.retrbinary('RETR ' + RemoteFile, file_handler.write)
            file_handler.close()
            return True
    
        def DownLoadFileTree(self, LocalDir, RemoteDir):
            # 下载整个目录下的文件
            if not os.path.exists(LocalDir):
                os.makedirs(LocalDir)
            self.ftp.cwd(RemoteDir)
            RemoteNames = self.ftp.nlst()
            for file in RemoteNames:
                Local = os.path.join(LocalDir, file)
                if file.find(".") == -1:
                    if not os.path.exists(Local):
                        os.makedirs(Local)
                    self.DownLoadFileTree(Local, file)
                else:
                    self.DownLoadFile(Local, file)
            self.ftp.cwd("..")
            return
    
        def close(self):
            self.ftp.quit()
    
    
    if __name__ == "__main__":
        ftp = myFtp('ip')
        ftp.Login('user', 'password')
        data = datetime.datetime.now().strftime('%Y-%m-%d')
        ftp.DownLoadFileTree(f'D:\ftp\{data}', '本地目录')  # 从目标目录下载到本地目录d盘
        ftp.close()
  • 相关阅读:
    服务器建设问题
    JDBC --反射(二)
    Cookies
    http和https区别
    springboot常用注解
    线程池
    悲观锁和乐观锁
    java高并发下的数据安全
    idea解决mybatis逆向工程
    spring Cloud
  • 原文地址:https://www.cnblogs.com/lqn404/p/13800907.html
Copyright © 2011-2022 走看看