【问题标题】:Python -- suppress console output for a constantly running thread, not the entire programPython——抑制持续运行的线程的控制台输出,而不是整个程序
【发布时间】:2015-04-01 04:15:00
【问题描述】:

BLUF:有没有办法只为单个线程抑制控制台输出?

我有一个后台线程来执行系统检查,其中包括对各种事物的一堆 ping。这些 ping 检查需要一段时间,然后结果会刷新到控制台。我根本不希望它们显示,所以我发现您可以将 stdout 设置为 devnull。

问题在于系统检查处于一个真正的循环中(循环之间有 60 秒的睡眠),并且检查本身占用了 60 秒的大部分时间,所以我担心在这些功能期间抑制控制台输出将导致整个程序的总运行时间的很大一部分没有控制台输出——我以后可能想从主线程中看到控制台输出。

【问题讨论】:

    标签: python multithreading console


    【解决方案1】:

    您可以将 sys.stdout 替换为基于线程过滤输出的自定义类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多