1
나는 Go에없는 라이브러리를 사용하는 Python으로 코드를 작성했습니다. Go에서 작성한 웹 서버가 있고 Go 프로그램에서 Python 프로그램을 호출 한 다음 Go 프로그램의 입력으로 Python 프로그램의 출력을 사용할 수 있기를 원합니다. 이 작업을 수행 할 여지가 있습니까?Go에서 파이썬 프로그램 실행
나는 Go에없는 라이브러리를 사용하는 Python으로 코드를 작성했습니다. Go에서 작성한 웹 서버가 있고 Go 프로그램에서 Python 프로그램을 호출 한 다음 Go 프로그램의 입력으로 Python 프로그램의 출력을 사용할 수 있기를 원합니다. 이 작업을 수행 할 여지가 있습니까?Go에서 파이썬 프로그램 실행
실제로 비교적 쉽습니다. 당신이해야 할 일은 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))
}
파이썬 코드 : 이동 코드에서
import sys
for i in range(len(sys.argv)):
print str(i) + ": " + sys.argv[i]
출력 :
[python python.py foo bar]
0: python.py
1: foo
2: bar
파이썬/CGO 다리의 몇 가지있다 유 Cython을 부르십시오 (그래서 당신은 매번 통역사를 다시 시작할 필요가 없습니다).하지만 그들은 버려진 것처럼 보입니다. – LinearZoetrope
@Jsor, ya 나는 그 중 일부를보고 있었지만 이런 식으로 코드를 실행하는 것이 더 좋은 생각 같았다. 적어도이 방법은 다른 것과 달리 지원됩니다. – Ben