在我的 python 脚本中,我尝试将变量传递给 Go 二进制文件以执行操作,并从 Go 二进制文件中检索输出作为变量,并在我的 python 脚本中使用它这是我的 Go 程序,我用它来创建我的二进制文件,并且我正在创建二进制文件package mainimport ( "fmt" "log" "os" "strconv" ps "github.com/mitchellh/go-ps")var args_pid stringvar xyz intfunc main() {args_pid = os.Args[1] first, err := strconv.ParseInt(args_pid, 10, 0) if err != nil { fmt.Println(err) os.Exit(2) } xyz = int(first) pp, _ := ps.FindProcess(xyz) log.Printf("The pid of passed process is %v\n", pp.Pid())}这是我的 python 脚本,我在其中使用这个二进制文件import osargs_pid = 1401cmd = './process_pid args_pid'so = os.popen(cmd).read()print so我收到以下错误: strconv.ParseInt: parsing "args_pid": invalid syntax有人可以帮我解决这个问题吗?
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
args_pid = 1401
cmd = './process_pid {}'.format(args_pid)
so = os.popen(cmd).read()
print so
您将字符串 args_pid 而不是实际值传递给 Go 二进制文件。
当谈到传递答案时,我会采用这样的方法:你的 Go 程序可以使用fmt.Printf("%d", pp.Pid()).
然后你的 Python 代码执行检索答案的操作就可以了。你只需要把它转换为 int :so = int(os.popen(cmd).read())
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消