如题,使用python3中ftplib模块实现将ftp服务器上的文件下载到本地。Demo如下:
import ftplib
import os
from pathlib import Path
import time
def ftpDownload(curTime):
host = r'ftp.xx.cn'
port = 21
user = '账号'
password = '密码'
LocalDir = 'data/FTP/%s' % curTime
RemoteDir = '/data/test/xxx'
ftp = ftplib.FTP()
ftp.connect(host, port)
ftp.login(user, password)
DownloadFileTree(LocalDir, RemoteDir, ftp)
ftp.close()
print("文件下载完成")
filePath = Path(LocalDir).rglob('*.txt')
ftpFile = next(filePath)
return ftpFile
# 下载单个文件
def DownloadFile(LocalFile, RemoteFile, ftp):
file_handler = open(LocalFile, 'wb')
print(file_handler)
ftp.retrbinary('RETR ' + RemoteFile, file_handler.write)
file_handler.close()
return True
# 下载整个目录下的文件
def DownloadFileTree(LocalDir, RemoteDir, ftp):