我在Python中编写了一些代码,它使用了一些不在Go中的库。我有一个我用Go编写的Web服务器,我希望能够从我的Go程序中调用Python程序,然后在我的Go程序中使用Python程序的输出作为输入。反正有吗?
答案 0 :(得分:2)
实际上相对容易。您需要做的就是使用os/exec
库。以下是一个例子。
转码:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("python", "python.py", "foo", "bar")
fmt.Println(cmd.Args)
out, err := cmd.CombinedOutput()
if err != nil { fmt.Println(err); }
fmt.Println(string(out))
}
Python代码:
import sys
for i in range(len(sys.argv)):
print str(i) + ": " + sys.argv[i]
来自Go Code的输出:
[python python.py foo bar]
0: python.py
1: foo
2: bar