Ich benutze Python 2.7 Requests-Modul, um eine Binärdatei mit dem folgenden Code herunterladen, wie dieser Code "Auto-Lebenslauf" den Download von teilweise heruntergeladenen Datei.Wie kann der Dateidownload in Python fortgesetzt werden?
r = requests.get(self.fileurl, stream=True, verify=False, allow_redirects=True)
if r.status_code == 200:
CHUNK_SIZE = 8192
bytes_read = 0
with open(FileSave, 'wb') as f:
itrcount=1
for chunk in r.iter_content(CHUNK_SIZE):
itrcount=itrcount+1
f.write(chunk)
bytes_read += len(chunk)
total_per = 100 * float(bytes_read)/float(long(audioSize)+long(videoSize))
self.progress_updates.emit('%d\n%s' % (total_per, 'Download Progress : ' + self.size_human(itrcount*CHUNK_SIZE) + '/' + Total_Size))
r.close()
Ich würde es vorziehen, nur requests
Modul zu verwenden, um dies zu erreichen, wenn möglich.
Sie müssten auch von ‚wb‘ auf ‚ab‘ den Dateimodus ändern (anhängen, sonst Sie überschreibt den bereits gespeicherten Teil). –
Für zukünftige Referenz, wäre die resume_byte_pos, die aktuelle Größe der Datei oder die aktuelle Größe der Datei minus eins? – Klik
@Klik sicher nicht eine aktuelle Dateigröße minus eins - wenn Sie 0 Bytes heruntergeladen haben, dann wollen Sie nicht von -1 beginnen :) Indexing startet Formular 0, so sollten Sie aktuelle Dateigröße als Startbyte senden. –