`

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源码Python 检索敏感词并描红输出 Python源码Python 检索敏感词并描红输出 Python源码Python 检索敏感词并描红输出 Python源码Python 检索敏感词并描红输出 Python源码Python ...

    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调用Abaqus交互命令

    1. Python脚本在Abaqus中的应用:Python可以用来自动化执行Abaqus中的交互式命令,以提高工作效率和实现复杂分析任务的自动化。 2. 专业有限元分析软件Abaqus:由Simulia公司开发,适用于多种工程分析领域。 3. ...

    python调用shell命令

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

    Java通过python命令执行DataX任务

    Java可以通过`Runtime.exec()`或`ProcessBuilder`类来执行外部命令,包括Python脚本。以下是一个简单的示例,展示如何在Java中执行Python命令: ```java try { Process process = Runtime.getRuntime().exec(...

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

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

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

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

    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