我想监视进程状态。任务差不多就是这样。t.py 每秒只输出一个数字,我想使用 test.go 将这个数字存储到一个文件中。不幸的是,以下代码无法完成这项工作。t.py:import timefrom sys import stdouti=0while 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() }}
1 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
输出被缓冲。添加stdout.flush()后print
import time
from sys import stdout
i=0
while 1:
print("%d" % i)
stdout.flush()
time.sleep(1)
i += 1
- 1 回答
- 0 关注
- 316 浏览
添加回答
举报
0/150
提交
取消