我在实现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()
----报错信息------