В файл было записано больше чем весь макс. размер файла?
@staticmethod
def pdownload(url: str, out: str):
"""Download file from URL with progress."""
response = get(url, stream=True)
current_progress = 0
total = int(response.headers.get('content-length', 0))
size = _convsize(total, PyLoader.CHUNK)
with open(out, 'wb') as out_file:
for data in response.iter_content(chunk_size=PyLoader.CHUNK):
size_written = out_file.write(data)
current_progress += size_written
yield {
'percentage': _percentage(current_progress, total),
'current_progress': current_progress,
'size_written': size_written,
'size': size,
'totalbytes': total,
'chunk': PyLoader.CHUNK # 1024
}
file = PyLoader.pdownload('https://cdn.sstatic.net/Img/teams/teams-illo-free-sidebar-promo.svg?v=47faa659a05e', 'sidebar.svg')
for data in file:
print(data)
При запуске этого кода, percentage уже с самого начала больше 100%, а если посмотреть на size_written то он уже больше чем весь размер файла (size_written: 2415 > totalbytes: 2368), как решить проблему? может я как то не так считаю size_written?
Источник: Stack Overflow на русском