当前位置: 首页 > 知识库问答 >
问题:

python - Python 的 tqdm 如果在内部使用print打印 会重复打印进度条 怎么避免这个问题?

慕容念
2023-12-03

举个例子

for i in tqdm(range(100)):    time.sleep(0.1)     print(i)

我想要一个进度条,然后下面打印我想要的内容

如题

共有1个答案

井疏珂
2023-12-03

进度条和print本来就不应该同时出现。
进度条的原理就是不断刷新当前行的文本,你用了print后会换行,tqdm就不会刷新print之前的当前行,而是在下一行打印进度,就会产生多行进度条。

你应该通过环境变量调试,如:

import osenv = os.getenv('DEBUG')if env != '1':    iterable = tqdm(range(100))else:    iterable = range(100)for i in iterable:    time.sleep(0.1)    if env == '1':        print(i)
 类似资料:
  • 问题内容: 我用option运行pytest 。 不幸的是,这会打印出很多点。例: 有没有办法避免这么长的点和“ s”字符列表? 更新资料 有一个有效的答案。但是不知何故对我来说太长了。我现在使用此解决方法:我将其添加到调用pytest的脚本中: 问题答案: 详细选项无法关闭测试结果打印。但是,可以通过多种方式进行自定义,包括结果打印。要更改此设置,您将覆盖该挂钩。 关闭短字母 创建一个具有以下内

  • 在python为什么 我想当时,这应该是正确的。应该给我,但是为什么没有?如果这是对的,为什么当,它给我?

  • 问题内容: 我正在学习Python中的绳索。当我尝试使用该函数打印类的对象时,得到如下输出: 有没有办法设置类及其对象的打印行为(或字符串表示形式)?例如,当我调用类对象时,我想以某种格式打印其数据成员。如何在中实现? 如果你熟悉类,则可以通过为类ostream添加方法来实现上述目的。 问题答案: 该方法是在打印时发生的事情,该方法是在使用功能时(或在交互式提示下查看它时)发生的事情。如果这不是最

  • 我希望我的 print 语句在循环之外,这样语句就不会一遍又一遍地打印相同的内容。下面的 for 循环只是将一个数组中的数字与另一个数组进行对比,以找出找到多少个匹配项。定义上面的变量并打印下面的语句会导致“变量未初始化错误”,这是可以理解的。

  • 下面的代码应该收集来自用户的数字输入,将其放入一个列表中,并对它们进行排序: 这段代码正在打印“无”,而不是打印我的排序列表。我少了哪一步?

  • 问题内容: 在Python中打印XML的最佳方法(或多种方法)是什么? 问题答案: