【问题标题】:Hide echo from apt-get in python在python中隐藏来自apt-get的回声
【发布时间】:2011-04-12 14:37:36
【问题描述】:

在 python 中运行时如何隐藏安装 java (apt-get openjdk-6-jre) 的过程? 所以我可以用 “正在安装 Java...”,直到它准备就绪。

提前致谢。

【问题讨论】:

标签: python hidden apt-get


【解决方案1】:

这是@khachik 评论的一个实现:

import os
from subprocess import STDOUT, check_call

check_call(['apt-get', 'install', 'openjdk-6-jre'], 
           stdout=open(os.devnull,'wb'), stderr=STDOUT)

如果发生错误,它会引发异常。

【讨论】:

    【解决方案2】:
    proc = subprocess.Popen('apt-get install openjdk-6-jre', stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE)
    output, errors = proc.communicate()
    return_Value = proc.returncode
    

    这会将程序输出放入 Python 中的字符串中,您可能应该在其中检查它是否有错误。见subprocess docs。 (与重定向到 /dev/null 不同,这是跨平台的。)

    【讨论】:

    • os.devnull 是跨平台的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 2011-03-06
    • 1970-01-01
    相关资源
    最近更新 更多