如何在 Python 中限制下载的文件大小?



我试图将下载的文件大小限制为仅<1MB 文件,但我的代码有些错误,因为它下载> 1MB,但是,当我尝试测试它下载超过 1MB 的文件时

self.url = 'https://www.google.com/search?q=filetype:{}+{}&num={}'.format(self.ext, self.magic_header, self.max)
self.MAX_SIZE = 1000000 # 1024 * 1024 this doesnt work either
try:
response = requests.head(href)
total = response.headers.get('content-length')
if int(total) > self.MAX_SIZE:
print "maximum size (%d kbs)" % (self.MAX_SIZE/1024)
else:
if total is None:
pass
else:
#if os.path.exists(OUTPUT_DIR):
#  print("Deleting old output directory")
#  shutil.rmtree(OUTPUT_DIR)
#print("Creating output directory")
#os.mkdir(OUTPUT_DIR)
os.system('wget -P %s %s'%(OUTPUT_DIR, href))
except Exception as e:
pass```

输出

204K 'NetLogo Tutorial 1 in Spanish.pdf'  1.2M  zElquehacertutorial.pdf
916K  proceso_tutorial_de_la_mcdst.pdf    2.3M  z-El-sistema-tutorial-en-la-UV.pdf

如果你有文件对象,你可以使用它

import os
os.fstat(f.fileno()).st_size > self.MAX_SIZE:

os.fstat(f.fileno(((.st_size 将以字节为单位给出文件大小

最新更新