当前位置:首页 >> 脚本专栏

go和python调用其它程序并得到程序输出

在c语言中可以用system函数调用系统命令并得到输出,通过输出重定向也可以将程序执行的输出保存到文件以供使用,但用起来不是很方便。我这里介绍下用python和go语言的实现方式,可以将其它程序的输出直接保存成变量供程序使用。

下面的示例用的是ls命名,需要安装MinGW,并将“C:\MinGW\msys\1.0\bin”加入环境变量。

一、用python调用其它程序,并得到输出

示例代码:

复制代码 代码如下:
import os
var = os.popen('ls -l').read()
print var

运行效果(以我机器为例):

go和python调用其它程序并得到程序输出

二、用go语言调用其它程序,并得到输出

go代码:

复制代码 代码如下:
package main

import (
    "exec" // "os/exec" in go1
    "fmt"
)

func main(){
    cmd := exec.Command("ls", "-l")
    buf, err := cmd.Output()
    fmt.Printf("%s\n%s",buf,err)
}

运行效果如下:

go和python调用其它程序并得到程序输出