为什么 python 在 time.sleep() 之后不打印? [复制]

2024-02-20

我用 python 编程已经快两年了,当我看一些旧代码时,我发现了一件非常奇怪的事情。

import random, sys, time

try:
    while True:
        print(' ', str(random.randint(100,999)), end='')
        time.sleep(0.01)
except:
    sys.exit()

按照此代码的语法,我的程序应该永远打印一个空格和一个从 100 到 999 的随机数,但这并没有发生。

当我运行此代码时,屏幕上不会出现任何内容,直到我按 CTRL-C,即使删除 try 语句也不会改变任何内容。

我尝试更改控制台(Windows 终端、powershell 和 CMD),但没有任何反应。

有人可以帮我解决这个问题吗?谢谢


Python 将打印输出保存在缓冲区中,并在实际显示之前等待行尾。 要在Python 3中强制显示,可以添加关键字flush=True.

import random, sys, time

try:
    while True:
        print(' ', str(random.randint(100,999)), end='', flush=True)
        time.sleep(0.01)
except:
    sys.exit()

或者,您可以:

  • call sys.stdout.flush()打印之后(Python 2 兼容);
  • use the -u执行脚本时标记(python -u script.py);
  • 设置环境变量PYTHONUNBUFFERED to TRUE.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 python 在 time.sleep() 之后不打印? [复制] 的相关文章

随机推荐

  • ASP.Net 6自定义WebApplicationFactory抛出异常

    我正在将现有的 ASP Net 5 Web 应用程序迁移到 ASP Net 6 并遇到了通过集成测试的最后障碍 我自定义 WebApplicationFactory 并抛出异常 Changing the host configuration
  • 打印浮点型/双精度型而不带尾随零? [复制]

    这个问题在这里已经有答案了 有几个与此相关的问题 但我还没有看到正确回答这个问题的人 我想打印一个浮点数 但我希望小数位数是自适应的 举个例子 0 gt 0 1234 gt 1234 0 1234 gt 0 1234 0 3 gt 0 3
  • Python pandas dataframe:找到另一列的每个唯一值的最大值

    我有一个大型数据框 从 500k 到 1M 行 其中包含例如这 3 个数字列 ID A B 我想过滤结果以获得如下图所示的表格 其中对于列 id 的每个唯一值 我都有 A 和 B 的最大值和最小值 我能怎么做 编辑 我已经更新了下面的图像以
  • 缩短 GCC 错误消息

    每当gcc无法找到具有多个重载的函数的匹配重载 它会给出一行又一行的错误 解释尝试了哪个重载以及为什么不使用它 虽然它通常很有用 但也常常没有用 因为问题是调用站点上的一个简单的拼写错误 在这种特殊情况下 它甚至没有帮助 因为甚至需要相当长
  • 如何通过比较两个 C# 对象来创建 JsonPatchDocument?

    鉴于我有两个相同类型的 C 对象 我想比较它们以创建 JsonPatchDocument 我有一个 StyleDetail 类定义如下 public class StyleDetail public string Id get set pu
  • Firebase集合组查询ID/密钥[重复]

    这个问题在这里已经有答案了 我一直在关注以下文档 https firebase google com docs firestore query data queries collection group query https fireba
  • 打破浮动图像周围的长词

    我正在尝试在移动设备上创建页面显示 它的布局是这样的 some text around the image some image text around the image some text around the image some w
  • Django - TypeError - save() 得到了意外的关键字参数“force_insert”

    我是 Django 新手 我无法弄清楚这个错误 请帮助 它给出了 TypeError save 得到了意外的关键字参数 force insert 我测试了下面的代码 他们能够保存新用户注册 但现在它不会再保存了 这是我认为有问题的views
  • 以编程方式添加选项卡,C# 选项卡控件

    大家好 我想问一下 如何以编程方式添加选项卡 对于我的问题 我有一个选项卡控件 默认情况下只有一个选项卡 我有一个按钮 当我单击该按钮时 将添加另一个选项卡 所以将是两个选项卡 请帮助我使用 c 和 xaml tabControl Item
  • 在 MVC4 中使用 DotNetOpenAuth 的 LinkedIn 完整个人资料详细信息

    我的 MVC4 应用程序允许使用 LinkedIn 帐户登录 我想提取登录用户的 linkedIn 中可用的所有详细信息 目前我做了以下工作 在我的 AuthConfig cs 中 Dictionary
  • Scala 宏:类型化(又名类型检查)树和非类型化树之间有什么区别

    我正在开始使用 scala 宏 它们非常棒 但是我遇到了类型化 又名类型检查 和非类型化之间的区别Trees 例如 您不能调用c eval由于某种原因使用类型检查的树 我在 scala 宏文档中找不到关于此 类型检查 的文档 我知道他们仍在
  • Angularjs如何在切换路由时取消资源承诺

    我刚刚接触 Angularjs 我有一个问题 我认为与承诺有关 假设我加载路由 A 它通过其控制器发出多个 ajax 请求 allSites AllSites query id categoryID allSites promise the
  • 如何在没有映射到 web.xml 的情况下调用 servlet?

    如何使用以下 URL 调用简单的 servlet http localhost 8080 servlet MyServlet http localhost 8080 servlet MyServlet 我把它放在文件夹中 tomcat we
  • 获取系统插入的正确方法

    我一直在使用view rootWindowInsets stableInsetTop和 Bottom 来获取状态栏和导航栏的高度 但是现在已弃用 并且文档建议使用 https developer android com reference
  • 将数据从 C# 传递到 jQuery

    我是一名独立程序员 正在寻求如何最好地处理以下情况的建议 我目前正在开发一个 C Winforms 应用程序 我正在编写的新功能允许用户创建Processing js 草图以进行数据分析 我构建了一个Processing js IDE 正在
  • 使用包含 NSDictionary 的 NSMutableArray 进行快速枚举

    是否可以对包含 NSDictionary 的 NSArray 使用快速枚举 我正在运行一些 Objective C 教程 以下代码将控制台踢入 GDB 模式 NSMutableArray myObjects NSMutableArray a
  • GIT_MERGE_AUTOEDIT=默认为否

    在我的 git v 1 7 10 2 中 我必须在终端中执行以下操作 GIT MERGE AUTOEDIT no export GIT MERGE AUTOEDIT 所以 每次合并时 我都不会强制发布消息 我应该把它放在哪里 这样默认情况下
  • C++ 流作为成员变量

    我有一个 C 类 我想保存一个用于日志记录的流 在构造对象之后应该能够设置 并且可能重置 流 应该可以将流设置为std cout 或者作为记录到文件的文件流 或者作为字符串流 它只是忽略数据 a dev null各种各样的 无论如何 它应该
  • 如何创建更复杂的 Lucene 查询字符串?

    这个问题是从this https stackoverflow com questions 532365 how to get more out of lucene net问题 我的询问有两个方面 但因为两者都是相关的 所以我认为将它们放在一
  • 为什么 python 在 time.sleep() 之后不打印? [复制]

    这个问题在这里已经有答案了 我用 python 编程已经快两年了 当我看一些旧代码时 我发现了一件非常奇怪的事情 import random sys time try while True print str random randint