nsmc-study/download.py

26 lines
932 B
Python

import requests
import tqdm
import zipfile
import os
def downloadNsmc(filename = "nsmc.zip"):
URL = "https://github.com/e9t/nsmc/archive/refs/heads/master.zip"
headReq = requests.head(URL, headers={'Accept-Encoding': None})
length = headReq.headers["Content-Length"]
with requests.get(URL, stream= True) as nsmc:
nsmc.raise_for_status()
with open(filename ,"wb") as fp:
t = tqdm.tqdm(total=int(length), unit='byte', desc=filename)
for chunk in nsmc.iter_content(chunk_size = 8192):
fp.write(chunk)
t.update(len(chunk))
t.close()
if __name__ == "__main__":
os.makedirs("nsmc", exist_ok=True)
if not os.path.exists("nsmc.zip"):
downloadNsmc()
with zipfile.ZipFile("nsmc.zip") as nsmc:
for member in tqdm.tqdm(nsmc.infolist(), desc="Extracting", unit="files"):
nsmc.extract(member,"nsmc")