我想监视进程状态。任务差不多就是这样。t.py 每秒只输出一个数字,我想使用 test.go 将这个数字存储到一个文件中。不幸的是,以下代码无法完成这项工作。


t.py:


import time

from sys import stdout


i=0

while 1:

    print("%d" % i) 

    time.sleep(1)

    i += 1

测试


import (

    "bufio"

    "fmt"

    "os"

    "os/exec"

)


func main() {

    cmd := exec.Command("python", "t.py")

    stdout, err := cmd.StdoutPipe()

    if err != nil {

        fmt.Println(err)

    }

    scanner := bufio.NewScanner(stdout)

    err = cmd.Start()

    if err != nil {

        fmt.Println(err)

    }

    for scanner.Scan() {

        line := scanner.Text()

        f, _ := os.Create("./temp.txt")

        fmt.Fprintf(f, "then %s\n", line)

        f.Close()

    }

}