ptyhon使用ftplib传输大批量数据中断

新手上路,请多包涵

我在实现python从ftp在进行下载大批量数据的时候出现
ftplib.error_temp: 425 Can't open passive connection: Address already in use
确认没有其他传输工具占用连接,端口默认21。请问我该怎么避免这种问题?

----代码------

class ftpmgr:
    def __init__(self,host, username, password, upload_root, download_root,  remoteroot):
        self.host = host
        self.username = username
        self.password = password
        self.download_root = download_root
        self.upload_root = upload_root
        self.remoteroot = remoteroot
        self.ftp = FTP()
    
    def connect(self):
        self.ftp.connect(self.host, 21)
        self.ftp.login(self.username, self.password)
    
    def downloadfile(self, localpath, remotepath):
        bufsize = 1024 
        fp = open(localpath, 'wb') 
        self.ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)
        self.ftp.set_debuglevel(0)
        fp.close() 
    
    # picpath_list从sql获取
    def download(self,picpath_list):
        self.connect()
        # self.ftp.cwd(self.remoteroot)
        for remotefile in picpath_list:
            relpath = '/'.join(remotefile.split('/')[-4:])
            localfile = os.path.join(self.download_root,relpath)
            self.downloadfile(localfile, remotefile)
            print '%s Downloads' % relpath
        self.ftp.quit()

----报错信息------

图片描述

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题