领导需求:基于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[