Вот несколько бит кода, который я использую для загрузки через ftp. Я пытался остановить загрузку, затем продолжить или снова загрузить ее. Я пробовал ftp.abort(), но он зависает только и возвращает таймаут.Как остановить ftp от загрузки в python?
ftplib.error_proto: 421 Data timeout. Reconnect. Sorry.
СЦЕНАРИЙ: Сценарий пользователь выберет файл для загрузки, во время загрузки, пользователь может остановить текущую загрузку и загрузить новый файл. Код 'if os.path.getsize (self.file_path)> 117625:' является только моим примером, если пользователь останавливает загрузку. Это не полный размер файла.
спасибо.
from ftplib import FTP
class ftpness:
def __init__(self):
self.connect(myhost, myusername, mypassword)
def handleDownload(self,block):
self.f.write(block)
if os.path.getsize(self.file_path) >117625:
self.ftp.abort()
def connect(self,host, username, password):
self.ftp = FTP(host)
self.ftp.login(username, password)
self.get(self.file_path)
def get(self,filename):
self.f = open(filename, 'wb')
self.ftp.retrbinary('RETR ' + filename, self.handleDownload)
self.f.close()
self.ftp.close
a = ftpness()
Я попробовал ваш код, он висит :) – unice
«FTP.abort() - > Отмените перенос файла, который выполняется. Использование этого не всегда работает, но стоит попробовать. " это то, что мы можем найти в документации ... не могли бы вы сообщить мне, если ошибка тайм-аута ушла? – blackwind
Он по-прежнему вызывает ошибку тайм-аута. Я читал о ftp.abort(), поэтому я хочу знать, есть ли другой способ остановить загрузку без этой ошибки таймаута. – unice