从FTP服务器中指定目录下载或更新文件并通过SQLite数据库记录日志(基于Python+SQLite3)

领导需求:基于Python开发一个小工具,使其能够实现从目标FTP服务器指定路径中实时轮训下载或更新文件到本地指定路径,仅供学习或参考。

SQLite3安装教程:点击转到我参考的SQLite安装教程

废话不多说直接上代码:

FTPwindow.py:

# -*- coding: utf-8 -*-
import time
import os
from ftplib import FTP, error_perm
import configparser
import datetime
from datetime import datetime
import sqlite


class FTP_OP:
    def __init__(self, host, username, password, port, passive):
        self.host = host
        self.username = username
        self.password = password
        self.port = port
        self.passive = passive
        self.downloaded_files = {}

    def ftp_connect(self):
        try:
            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.passive)
            return ftp
        except Exception as e:
            print(f"连接ftp server失败:{e}")
            return None

    def download_directory(self, ftp, path, local_path):
        try:
            file_list = []
            ftp.retrlines('LIST', file_list.append)

            for file in file_list:
                split = file.split()
                permissions = split[0]
                file_name = split[-1]
                file_size = split[
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值