这是代码
def download_from_dict(path_link_dict, folder)
counter = 0
for path, link, name in tqdm(path_link_dict):
counter = counter + 1
if os.path.isfile(folder + path + name):
print('[ Already there! ] ' + name)
continue
if not os.path.isdir(folder + path):
os.makedirs(folder + path)
response = requests.get(link, headers=HEADERS)
with open(folder + path + name, 'wb') as file:
file.write(response.content)
print('[*] Downloaded ' + name)
输出为
progress bar..
[*] Downloaded something..
Progress bar..
[*] Downloaded something
所需的输出(我希望该栏保留在终端的底部。)
[*] Downloaded something
[*] Downloaded something
[*] Downloaded something
progress bar..
我尝试使用tqdm函数的leave=False、position=0和barfmt..参数,但它不起作用 我也尝试过使用 在 [*] 下载之前,但该条比打印的语句长,因此它仅清除其中的一部分。 我已经查看了 tqdm 文档,但无法解决这个问题 你能帮忙吗?
这里不是一个简单直接的解决方案,但是在 stackoverflow 中关于如何针对之前的几个问题执行此操作有有趣的讨论和解决方案:通过 tqdm.write() 在 python 脚本中重定向打印命令 和使用 tqdm 的 python 进度条不停留在一行
这还取决于您是否在标准终端或 jupyter 笔记本或其他输出中需要它......