<bdo id='gu2GN'></bdo><ul id='gu2GN'></ul>
  1. <tfoot id='gu2GN'></tfoot>

  2. <i id='gu2GN'><tr id='gu2GN'><dt id='gu2GN'><q id='gu2GN'><span id='gu2GN'><b id='gu2GN'><form id='gu2GN'><ins id='gu2GN'></ins><ul id='gu2GN'></ul><sub id='gu2GN'></sub></form><legend id='gu2GN'></legend><bdo id='gu2GN'><pre id='gu2GN'><center id='gu2GN'></center></pre></bdo></b><th id='gu2GN'></th></span></q></dt></tr></i><div id='gu2GN'><tfoot id='gu2GN'></tfoot><dl id='gu2GN'><fieldset id='gu2GN'></fieldset></dl></div>

    <small id='gu2GN'></small><noframes id='gu2GN'>

    1. <legend id='gu2GN'><style id='gu2GN'><dir id='gu2GN'><q id='gu2GN'></q></dir></style></legend>
    2. 如何隐藏子进程的输出

      How to hide output of subprocess(如何隐藏子进程的输出)
    3. <small id='WKzsg'></small><noframes id='WKzsg'>

    4. <legend id='WKzsg'><style id='WKzsg'><dir id='WKzsg'><q id='WKzsg'></q></dir></style></legend>
        <tbody id='WKzsg'></tbody>
      • <bdo id='WKzsg'></bdo><ul id='WKzsg'></ul>

            <tfoot id='WKzsg'></tfoot>
              1. <i id='WKzsg'><tr id='WKzsg'><dt id='WKzsg'><q id='WKzsg'><span id='WKzsg'><b id='WKzsg'><form id='WKzsg'><ins id='WKzsg'></ins><ul id='WKzsg'></ul><sub id='WKzsg'></sub></form><legend id='WKzsg'></legend><bdo id='WKzsg'><pre id='WKzsg'><center id='WKzsg'></center></pre></bdo></b><th id='WKzsg'></th></span></q></dt></tr></i><div id='WKzsg'><tfoot id='WKzsg'></tfoot><dl id='WKzsg'><fieldset id='WKzsg'></fieldset></dl></div>
                本文介绍了如何隐藏子进程的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我在 Ubuntu 上使用 eSpeak,并且有一个 Python 2.7 脚本,可以打印并说出一条消息:

                I'm using eSpeak on Ubuntu and have a Python 2.7 script that prints and speaks a message:

                import subprocess
                text = 'Hello World.'
                print text
                subprocess.call(['espeak', text])
                

                eSpeak 会产生所需的声音,但会因为一些错误(ALSA lib...,没有套接字连接)而使外壳混乱,因此我无法轻松阅读之前打印的内容.退出代码为 0.

                eSpeak produces the desired sounds, but clutters the shell with some errors (ALSA lib..., no socket connect) so i cannot easily read what was printed earlier. Exit code is 0.

                不幸的是,没有记录的选项可以关闭它的冗长,所以我正在寻找一种方法来仅在视觉上使其静音并保持打开的外壳清洁以进行进一步的交互.

                Unfortunately there is no documented option to turn off its verbosity, so I'm looking for a way to only visually silence it and keep the open shell clean for further interaction.

                我该怎么做?

                推荐答案

                对于python >= 3.3,将输出重定向到DEVNULL:

                For python >= 3.3, Redirect the output to DEVNULL:

                import os
                import subprocess
                
                retcode = subprocess.call(['echo', 'foo'], 
                    stdout=subprocess.DEVNULL,
                    stderr=subprocess.STDOUT)
                

                对于python <3.3,包括2.7使用:

                For python <3.3, including 2.7 use:

                FNULL = open(os.devnull, 'w')
                retcode = subprocess.call(['echo', 'foo'], 
                    stdout=FNULL, 
                    stderr=subprocess.STDOUT)
                

                实际上和运行这个 shell 命令是一样的:

                It is effectively the same as running this shell command:

                retcode = os.system("echo 'foo' &> /dev/null")
                

                这篇关于如何隐藏子进程的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Pythonic and efficient way of finding adjacent cells in grid(在网格中查找相邻单元格的 Pythonic 和有效方法)
                map a hexagonal grid in matplotlib(在 matplotlib 中映射六边形网格)
                Execute arbitrary python code remotely - can it be done?(远程执行任意 python 代码 - 可以吗?)
                Python - Plotting colored grid based on values(Python - 根据值绘制彩色网格)
                Is there a GUI design app for the Tkinter / grid geometry?(是否有 Tkinter/网格几何图形的 GUI 设计应用程序?)
                tkinter Canvas Scrollbar with Grid?(带有网格的 tkinter 画布滚动条?)
              2. <tfoot id='djOWM'></tfoot>
                • <i id='djOWM'><tr id='djOWM'><dt id='djOWM'><q id='djOWM'><span id='djOWM'><b id='djOWM'><form id='djOWM'><ins id='djOWM'></ins><ul id='djOWM'></ul><sub id='djOWM'></sub></form><legend id='djOWM'></legend><bdo id='djOWM'><pre id='djOWM'><center id='djOWM'></center></pre></bdo></b><th id='djOWM'></th></span></q></dt></tr></i><div id='djOWM'><tfoot id='djOWM'></tfoot><dl id='djOWM'><fieldset id='djOWM'></fieldset></dl></div>
                  <legend id='djOWM'><style id='djOWM'><dir id='djOWM'><q id='djOWM'></q></dir></style></legend>
                      <tbody id='djOWM'></tbody>

                      <bdo id='djOWM'></bdo><ul id='djOWM'></ul>

                      <small id='djOWM'></small><noframes id='djOWM'>