`

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 检索敏感词并描红输出 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调用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()`无法直接获取命令的输出...

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

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

    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中执行命令,...

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

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

    Python3 执行系统命令并获取实时回显功能

    在日常的开发工作中,有时我们需要通过Python脚本来执行系统命令,并实时地获取这些命令的输出结果。这对于监控任务执行情况、调试程序以及自动化部署等场景非常有用。本文将详细介绍如何在Python3中实现这一功能。 ...

    Go-使用grpcgo和python的双向流式RPC的快速演示

    在IT行业中,RPC(Remote Procedure Call)是一种进程间通信机制,允许一个程序调用另一个运行在不同地址空间的程序,通常是在不同的机器上。gRPC是Google推出的一个高性能、开源和通用的RPC框架,它基于HTTP/2协议...

    Python伪装文件类对象输入输出重定向方法研究.pdf

    在讨论Python伪装文件类对象输入输出重定向方法研究之前,我们首先需要了解什么是输入输出重定向,以及它在Python程序评测中的作用和重要性。 输入输出重定向是操作系统级别的一个功能,它允许将程序的标准输入...

    Python运行不显示DOS窗口的解决方法

    首先,我们需要明白DOS窗口是什么以及它在程序运行中的作用。DOS(Disk Operating System)窗口是Windows操作系统中命令提示符界面的一个窗口,用于显示命令行界面,允许用户通过输入命令与计算机交互。当Python脚本...

Global site tag (gtag.js) - Google Analytics