在Python中調用Golang的方法,可以使用subprocess
模塊來啟動一個Golang的可執行文件,并通過標準輸入輸出進行數據傳遞。
以下是一個示例:
main.go
):package main
import "fmt"
func main() {
var input string
fmt.Scanln(&input)
fmt.Println("Golang received:", input)
}
go build main.go
import subprocess
# 啟動Golang可執行文件
process = subprocess.Popen("./main", stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
# 向Golang發送數據
input_data = "Hello from Python"
process.stdin.write(input_data.encode())
process.stdin.close()
# 讀取Golang的輸出
output_data = process.stdout.read().decode().strip()
print("Python received:", output_data)
# 等待Golang進程結束
process.wait()
運行Python代碼后,可以看到如下輸出:
Python received: Golang received: Hello from Python
注意,這只是一種在Python中調用Golang方法的方法之一,還有其他的方法,如使用CGO、RPC等。具體方法選擇取決于你的需求和情況。