來源:sxf_0123 發(fā)布時間:2018-11-03 16:16:36 閱讀量:1309
#!/usr/bin/python3
#-*-coding:utf-8-*-
"""
FTP常用操作
"""
from ftplib import FTP
import os
class FTP_OP(object):
def __init__(self, host, username, password, port):
"""
初始化ftp
:param host: ftp主機(jī)ip
:param username: ftp用戶名
:param password: ftp密碼
:param port: ftp端口 (默認(rèn)21)
"""
self.host = host
self.username = username
self.password = password
self.port = port
def ftp_connect(self):
"""
連接ftp
:return:
"""
ftp = FTP()
ftp.set_debuglevel(0) # 不開啟調(diào)試模式
ftp.connect(host=self.host, port=self.port) # 連接ftp
ftp.login(self.username, self.password) # 登錄ftp
return ftp
def download_file(self, ftp_file_path, dst_file_path):
"""
從ftp下載文件到本地
:param ftp_file_path: ftp下載文件路徑
:param dst_file_path: 本地存放路徑
:return:
"""
buffer_size = 10240 #默認(rèn)是8192
ftp = self.ftp_connect()
# print(ftp.getwelcome()) #顯示登錄ftp信息
file_list = ftp.nlst(ftp_file_path)
for file_name in file_list:
ftp_file = os.path.join(ftp_file_path, file_name)
write_file = os.path.join(dst_file_path, file_name)
with open(write_file, "wb") as f:
ftp.retrbinary('RETR {0}'.format(ftp_file), f.write, buffer_size)
f.close()
ftp.quit()
if __name__ == '__main__':
host = "10.0.0.1"
username = "test"
password = "test"
port = "21"
ftp_file_path = "/data/ana"
dst_file_path = "/data/tmp"
ftp = FTP_OP(host=host, username=username, password=password, port=port)
ftp.download_file(ftp_file_path=ftp_file_path, dst_file_path=dst_file_path
---------------------
作者:sxf_0123
來源:CSDN
原文:https://blog.csdn.net/sxf_123456/article/details/80247342
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!