日常数仓开发中可能需要从ftp服务器上获取文件到本地,比如压缩包文件(.zip|.tar|.tar.gz格式)、csv文件,txt文件等,获取到本地后将数据处理到数据库里。废话少说,上代码。
下载ftp的文件
from ftplib import FTP
def ftp_download(host=None, port=None, user=None, password=None, ftp_path=None, local_path=None):
"""
下载ftp文件
:param host:
:param port:
:param user:
:param password:
:param ftp_path: ftp文件路径
:param local_path: 下载到本地保存路径
:return:file_list:
"""
ftp = FTP()
ftp.set_debuglevel(0)
ftp.connect(host, port)
ftp.login(user=user, passwd=password)
bufsize = 1024
if ftp_path != 'None' and ftp_path != '' and ftp_path is not None:
ftp.cwd(ftp_path)
file_list = ftp.nlst()
download_list = []
for file_name in file_list