香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

编写Python脚本来实现最简单的FTP下载的教程


时间:2021-11-29 16:24 作者:admin


访问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()

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)