python的seaborn下载_python seabornPython之FTP传输

访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(PS:此段有问题,别复制使用,可以参考去试验自己的ftp类!)

电脑技术002pc网认为此文章对《python seabornPython之FTP传输》说的很在理,电脑技术002pc网为你提供最佳的学习编程,Python基础教程。import os

from ftplib import FTP

class FTPSync():

def __init__(self, host, usr, psw, log_file):

self.host = host

self.usr = usr

self.psw = psw

self.log_file = log_file

def __ConnectServer(self):

try:

self.ftp = FTP(self.host)

self.ftp.login(self.usr, self.psw)

self.ftp.set_pasv(False)

return True

except Exception:

return False

def __CloseServer(self):

try:

self.ftp.quit()

return True

except Exception:

return False

def __CheckSizeEqual(self, remoteFile, localFile):

try:

remoteFileSize = self.ftp.size(remoteFile)

localFileSize = os.path.getsize(localFile)

if localFileSize == remoteFileSize:

return True

else:

return False

except Exception:

return None

def __DownloadFile(self, remoteFile, localFile):

try:

self.ftp.cwd(os.path.dirname(remoteFile))

f = open(localFile, 'wb')

remoteFileName = 'RETR ' + os.path.basename(remoteFile)

self.ftp.retrbinary(remoteFileName, f.write)

if self.__CheckSizeEqual(remoteFile, localFile):

self.log_file.write('The File is downloaded successfully to %s' + 'n' % localFile)

return True

else:

self.log_file.write('The localFile %s size is not same with the remoteFile' + 'n' % localFile)

return False

except Exception:

return False

def __DownloadFolder(self, remoteFolder, localFolder):

try:

fileList = []

self.ftp.retrlines('NLST', fileList.append)

for remoteFile in fileList:

localFile = os.path.join(localFolder, remoteFile)

return self.__DownloadFile(remoteFile, localFile)

except Exception:

return False

def SyncFromFTP(self, remoteFolder, localFolder):

self.__DownloadFolder(remoteFolder, localFolder)

self.log_file.close()

self.__CloseServer()

更多:python seabornPython之FTP传输

https://www.002pc.comhttps://www.002pc.com/python/2962.html

你可能感兴趣的Python,FTP,传输

No alive nodes found in your cluster

0踩

0 赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值