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语言调用其它程序,并得到输出
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)
}
运行效果如下:
相关推荐
-
golang简单读写文件示例
本文实例讲述了golang简单读写文件的方法.分享给大家供大家参考,具体如下: 这里演示golang读写文件的方法: 复制代码 代码如下: package main import ( "fmt" "os" ) func main() { f, err := os.OpenFile("file2.txt", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0x644) if err !=
-
golang使用sort接口实现排序示例
本文实例讲述了golang使用sort接口实现排序的方法.分享给大家供大家参考,具体如下: 今天看见群里再讨论排序的sort.Interface的实现,有童鞋一直搞不定,我就上手了一下,哦耶搞定了,代码放在这里. 其实很简单sort.Interface借口有三个方法,给自己的struct实现这三个方法,然后用将自己的结构体传给sort.Sort方法就排序完成. 当然sort包也有几个常用的方法sort.Float64Slice sort.IntSlise sort.StringSlise,呵呵
-
golang两种调用rpc的方法
本文实例讲述了golang两种调用rpc的方法.分享给大家供大家参考,具体如下: golang的rpc有两种方法进行调用,一种是rpc例子中给的: 复制代码 代码如下: package main import ( "net/rpc" "net/http" "log" "net" "time" ) type Args struct
-
Go语言调用其它程序并获得程序输出的方法
本文实例讲述了Go语言调用其它程序并获得程序输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "exec" // "os/exec" in go1 "fmt" ) func main(){ cmd := exec.Command("ls", "-l") buf, err := cmd.Output()
-
Go语言中函数的参数传递与调用的基本方法
按值传递函数参数,是拷贝参数的实际值到函数的形式参数的方法调用.在这种情况下,参数在函数内变化对参数不会有影响. 默认情况下,Go编程语言使用调用通过值的方法来传递参数.在一般情况下,这意味着,在函数内码不能改变用来调用所述函数的参数.考虑函数swap()的定义如下. 复制代码 代码如下: /* function definition to swap the values */ func swap(int x, int y) int { var temp int temp = x /* s
-
golang模板template自定义函数用法示例
本文实例讲述了golang模板template自定义函数用法.分享给大家供大家参考,具体如下: golang的模板十分强大,其中的unix管道风格函数调用很是喜欢. 模板中有很多内置可以参看pkg文档, 另外还可以实现自定义函数. 例子如下: 复制代码 代码如下: package main import ( "text/template" "time" "os" ) type User struct { Usern
-
golang基于websocket实现的简易聊天室程序
本文实例讲述了golang基于websocket实现的简易聊天室.分享给大家供大家参考,具体如下: 先说点无关的,最近忙于工作没有更新博客,今天休息顺便把golang websocket研究了一下,挺好玩的,写了一个聊天室,分享给大家. websocket包 : code.google.com/p/go.net/websocket 文档 : http://go.pkgdoc.org/code.google.com/p/go.net/websocket 首先安装websocket包 复制代码 代码
-
golang实现通过smtp发送电子邮件的方法
本文实例讲述了golang实现通过smtp发送电子邮件的方法.分享给大家供大家参考,具体如下: 今天写了一个公司的邮件发送后台服务,php只需要把邮件存入数据库,然后golang写的mailservice就会吧邮件发送出去.这个公司的代码就不发出来的,以为带有公司的业务逻辑,我把代码整理了一下发布出来供大家参考.呵呵 复制代码 代码如下: package main import ( "fmt" "net/mail" "net/smt
-
Go语言RPC Authorization进行简单ip安全验证的方法
本文实例讲述了Go语言RPC Authorization进行简单ip安全验证的方法.分享给大家供大家参考.具体分析如下: 前言:写网络服务,总要考虑安全机制,对ip和网段进行判断是最简单的一个验证机制.之后想做一个类似注册式的安全验证机制,既可以减少配置文件的麻烦,又可以很好的进行安全管理. 直接上代码: 复制代码 代码如下: package main import( "net" "fmt" "time" &quo
-
golang守护进程用法示例
本文实例讲述了golang守护进程用法.分享给大家供大家参考,具体如下: 用node写了一个socket后台服务,可是有时候会挂,node一个异常就game over了,所以写了一个守候. 复制代码 代码如下: package main import ( "log" "os" "os/exec" "time" ) func main() { lf,
随机推荐
- EntityFramework 6.x学习之多个上下文迁移实现分布式事务详解
- JavaScript实现判断图片是否加载完成的3种方法整理
- Flex父子窗口相互调用实现思路及源码
- 使用bat打开多个cmd窗口执行gulp、node
- python的tkinter布局之简单的聊天窗口实现方法
- 浅析JS运动
- jQuery调用WebService返回JSON数据及参数设置注意问题
- 让ASP搭配MYSQL
- c#求范围内素数的示例分享(c#求素数)
- asp动态页面防采集的新方法
- js DNA动态序列比对代码
- Linux KVM的QCOW2 和 ROW的详解及区别介绍
- 浅谈vue2 单页面如何设置网页title
- Python实现的矩阵转置与矩阵相乘运算示例
- Springboot项目平滑关闭及自动化关闭脚本
- .Net学习笔记之Layui多图片上传功能
- 虚拟机ubuntu16.04无法连网的解决方法
- Android RecyclerView实现点击条目删除
- SpringBoot整合Spring Data Elasticsearch的过程详解
- jQuery.event.trigger()的简单解释