国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

編寫Python腳本來實現最簡單的FTP下載的教程

2020-02-23 01:04:42
字體:
來源:轉載
供稿:網友

訪問FTP,無非兩件事情:upload和download,最近在項目中需要從ftp下載大量文件,然后我就試著去實驗自己的ftp操作類,如下(PS:此段有問題,別復制使用,可以參考去試驗自己的ftp類!)

import osfrom 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()

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日照市| 正镶白旗| 新晃| 上林县| 依兰县| 长泰县| 鄂温| 长垣县| 通州区| 拜泉县| 阜城县| 临漳县| 北宁市| 缙云县| 乌兰浩特市| 三门峡市| 金湖县| 北川| 北海市| 错那县| 金门县| 寻甸| 兴安盟| 红河县| 石林| 惠东县| 宝兴县| 嘉黎县| 陇西县| 黄陵县| 容城县| 子洲县| 宜城市| 平潭县| 教育| 滁州市| 博野县| 读书| 东丽区| 深州市| 平安县|