Yüksek boyutlu dosya indirme ve progressbar ekleme

Elimde bir arşiv var ve şifresi zamanla değişen bir arşiv dolayısıyla dosyaları kayıp etmek istemiyorum. Öğrenci mailine sahibin dolayısıyla google drivede sınırsız dosya yükleme hakkına sahibim. Amacım o arşivden dosyaları pc ye indirip pc den de driveye yüklemek yani kendi arşivimi oluşturmak. Tarayıcılardan indirirken bitmeye yakın ağ hatası diyip indirmeyi durduğunu ve baştan başlatmak zorunda olduğumu gördüm. Buna çözüm olarak pythonu kullanmak istedim. Fakat şimdide 2 tip sorunum var. 1. si çok fazla ram harcıyor. Gelen veriyi yazdırmak için bir değişkende tuttuğumdan dolayı ramı çok fazla harcıyor. Kodları aşşağıda paylaşınca zaten anlayacaksınız. 2. si ne kadarı inmiş ne kadarı kalmış anlayamıyorum. Değişkenin boyutunu farklı bir threaddan kontrol etmeyi denedim sys.getsizeof ile fakat hep sabit kaldı bitene kadar. Bu sorunları nasıl çözebilirim ?

import requests,sys,os
from datetime import datetime

def download(name,url,path):
    print("="*20)
    print(name + " nin indirmesi başladı")
    now = datetime.now()
    data = requests.get(url,stream=True).content
    end = datetime.now()
    print(name + " nin indirmesi bitti")
    print("Süre: "+str(end-now))
    with open(name,"wb") as f:
        f.write(data)
    print("\nBir indirme bitti\nDosya adı:{}\nDosya boyutu:{}\nKaydedilen yer:{}".format(name, sys.getsizeof(data) ,path))
    print("="*20,end="\n\n")
queue = []
path = input("Yol: ")
try:
    os.chdir(path)
except:
    os.mkdir(path)
    os.chdir(path)
count = input("Kaç dosya: ")
for i in range(int(count)):
    name = input("dosya adı: ")
    url = input("url: ")
    queue.append((name,url))
for name,url in queue:
    download(name,url,path)
input("tüm indirmeler bitti")

Son bir soru daha. Şuanda vps server aramaktayım ama nereye baksam maksimum 5gb depolama alanı olanını gördüm. İnternetimin upload hızı düşük olduğu için bir vps serveri aramaktayım. Önceden böyle şeyleri online complierlerde yapabiliyorum fakat şimdi çoğuna engel gelmiş. Dosyayı indirip ufak bir scriptle anonfile diye bir siteye yüklüyordum linkinide mailime atıyordum en azından arşivin şifresi değişse bile yavaş yavaş kendi arşivime aktarabiliyordum. Bu sorunları nasıl halledebilirim ?

Hocam aynı yeri bende gördüm fakat hangisi kesin sonuca ulaştırdı anlayamadım

Yeşil tik olanı onaylanmış cevap, o işinizi görmezse diğer cevapları denersiniz.

1 Beğeni