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()
  • 相关阅读:
    布隆过滤器(Bloom Filter)详解
    css-鼠标经过图片效果
    css-卡牌反转(两个内容)
    wow 属性
    小常识
    裁剪图片
    js电梯导航效果
    banner缓慢缩小过渡效果
    css——鼠标经过按钮时样式
    redis面试题redis的lru算法实现到手写lru算法
  • 原文地址:https://www.cnblogs.com/lqn404/p/13800907.html
Copyright © 2011-2022 走看看