在我的 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 關注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消