`

Python中执行外部命令并捕获双向输出

 
阅读更多
原文:http://my.oschina.net/qihh/blog/74266
利用python的subprocess模块执行外部命令,并捕获stdout,stderr的输出:
import subprocess
#print ’popen3:’

def external_cmd(cmd, msg_in=''):
    try:
        proc = subprocess.Popen(cmd,
                   shell=True,
                   stdin=subprocess.PIPE,
                   stdout=subprocess.PIPE,
                   stderr=subprocess.PIPE,
                  )
        stdout_value, stderr_value = proc.communicate(msg_in)
        return stdout_value, stderr_value
    except ValueError as err:
        #log("ValueError: %s" % err)
        return None, None
    except IOError as err:
        #log("IOError: %s" % err)
        return None, None

if __name__ == '__main__':
    stdout_val, stderr_val = external_cmd('ls -l')
    print 'Standard Output: %s' % stdout_val
    print 'Standard Error: %s' % stderr_val
分享到:
评论

相关推荐

    在python 中实现运行多条shell命令

    ### 在Python中实现运行多条Shell命令 在Python编程中,有时我们需要调用系统的Shell命令来完成特定的任务,比如文件操作、系统管理等。本文将详细介绍如何在Python中执行多条Shell命令,并探讨不同的实现方法及其...

    python 代码操作 docker 命令

    python 操作docker 命令, docker命令操作,镜像查看,运行,删除,导出,加载等操作...

    Python中执行系统命令常见的方法

    Python中执行系统命令常见的方法 Python 作为一种编程语言,经常需要与操作系统进行交互,执行系统命令是非常常见的一种操作。Python 提供了多种方法来执行系统命令,下面将详细介绍四种常见的方法。 1. os.system...

    python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    Python执行SCP命令是一种在编程中实现自动化文件传输到远程服务器的常见方法,特别是在需要脚本化或批量处理任务时。SCP(Secure Copy)是基于SSH协议的安全文件传输工具,它允许用户通过加密连接将文件从本地复制到...

    Python3 执行Linux Bash命令的方法

    和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os....

    Python程序基础:Python中的输入输出.pptx

    python中的输入输出;在Python中使用print()函数进行输出。 输出字符串时可用单引号或双引号括起来; 输出变量时,可不加引号; 变量与字符串同时输出或多个变量同时输出时,需用“,”隔开各项。;Python提供了input()...

    Python 从subprocess运行的子进程中实时获取输出的例子

    在Python编程中,有时我们需要创建子进程来执行外部命令或脚本,以便于任务调度、资源管理和并发操作。`subprocess`模块是Python提供的一种强大工具,它允许我们方便地创建子进程并与其进行交互。本文将深入探讨如何...

    python调用shell命令

    - `os.system("dir")`:执行`dir`命令,但不捕获其输出。 #### 五、`os.popen()`与`os.system()`的比较 1. **输出处理**: - `os.popen()`可以获取命令执行后的输出。 - `os.system()`无法直接获取命令的输出...

    Python如何调用外部系统命令

    调用外部系统命令完成后可以通过获取命令执行返回结果码、执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法,包括os.system()、os.popen()、subprocess.Popen()等。 本文...

    Win10系统提示“python不是内部或外部命令”的有效解决方法.docx

    在使用Windows 10操作系统的过程中,很多用户在安装并尝试运行Python时遇到了一个常见的问题:“python不是内部或外部命令”。这个问题通常出现在尝试通过命令提示符(cmd)运行Python程序时。本文将详细介绍这一问题...

    python隐藏终端执行cmd命令的方法

    在用pyinstaller打包后不想要后面的终端命令框,但是打包时加了-w或者–noconsole命令后会导致cmd程序不能运行从而出错。这个时候用subprocess可以解决该类问题。...以上这篇python隐藏终端执行cmd命令的方法就

    对Python捕获控制台输出流的方法详解

    `commands.getstatusoutput`是一个早期用于执行外部命令并捕获输出的方法。该方法已被官方文档标记为不推荐使用,并建议使用`subprocess`模块替代。尽管如此,在某些旧版代码中仍可以看到它的身影。 **示例代码**:...

    Python-linux高级命令教程及代码

    Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令教程及代码Python-linux高级命令...

    python 调用系统命令【python如何调用系统命令】.docx

    需要注意的是,`os.system`仅在子进程中运行命令,无法捕获命令的输出结果。 #### 四、更高级的调用方式 除了`os.system`之外,还有其他几种方法可以更加灵活地调用系统命令: 1. **使用`os.popen`** ```python ...

    python实现调用cmd命令

    Python 执行cmd命令,实现命令行下的操作。简单易懂。可当做范例学习,扩展。

    调用外部命令.rar

    5. **进程交互**:在编程中,可以使用各种语言(如Python、Java、C#)的API来调用外部命令并与其进行交互。例如,Python的`subprocess`模块,Java的`Runtime.exec()`或`ProcessBuilder`类,C#的`System.Diagnostics....

    run-python-from-dotnet:执行python脚本并捕获其输出

    接下来,为了执行Python脚本并捕获输出,你可以使用`ScriptEngine.Execute`方法: ```csharp // 执行Python脚本 using (var writer = new StringWriter()) { var engine = pythonRuntime.GetEngine("python"); ...

    Python执行Linux系统命令的4种方法

    在Python中,执行Linux系统命令是常见的需求,用于自动化任务、系统管理或者集成脚本。本文将详细介绍四种方法来实现这一功能。 1. **os.system()** 方法 `os.system()` 是最基础的方法,它在子shell中执行命令,...

    Linux下使用python调用top命令获得CPU利用率

    这里要实现的是通过python调用top命令,并获得cpu的利用率信息。 用过popen的朋友很快就能想到类似如下的代码(这个是我第一次写的代码,*_*): 复制代码 代码如下: #! /usr/bin/python import

    基于Python执行dos命令并获取输出的结果

    在现代的编程实践中,能够跨操作系统执行命令并获取输出对于自动化任务和脚本开发至关...对于编程学习者而言,通过文章中的示例代码和解释,可以加深对Python执行外部命令功能的理解,并将其应用于自己的项目和研究中。

Global site tag (gtag.js) - Google Analytics