python requests文件下载进度条
''' \r 表示将光标的位置回退到本行的开头位置 print(1, 2, end='') 默认换行,end='' 表示用''替换默认换行(也就是不换行) %% 转义% 输出一个% %.2f 小数,保留两位小数 ''' # 进度条模块 def progressbar(url, filepath='./必须加上扩展名'): start = time.time() # 下载开始时间 response = requests.get(url, stream=True) # stream=True必须写上 size = 0 # 初始化已下载大小 chunk_size = 1024 # 每次下载的数据大小 content_size = int(response.headers['content-length']) # 下载文件总大小 try: if response.status_code == 200: # 判断是否响应成功 print('开始下载,[文件大小]:{size:.2f} MB'.format( size=content_size / chunk_size / 1024)) # 开始下载,显示下载文件大小 # filepath = '下载/222.mp4' #注:必须加上扩展名 with open(filepath, 'wb') as file: # 显示进度条 for data in response.iter_content(chunk_size=chunk_size): file.write(data) size += len(data) print('\r' + '[下载进度]:%s%.2f%%' % ( '>' * int(size * 50 / content_size), float(size / content_size * 100)), end=' ') end = time.time() # 下载结束时间 print('完成!用时: %.2f秒' % (end - start)) # 输出下载用时时间 except Exception: pass u = 'https://api.amemv.com/aweme/v1/play/?video_id=v0200f280000bq005t7eqk83orvbego0&line=1&file_id=57389ab9d06d4cefbff0fb236f7f603f&sign=11ef4a9e0efa17547fc126480caa1bae&is_play_url=1&source=PackSourceEnum_DOUYIN_REFLOW' progressbar(url=u, filepath='./2223.mp4')
人生苦短,慢慢潇洒。
nsyw.run