亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法將 python 變量傳遞為二進制文件

無法將 python 變量傳遞為二進制文件

Go
撒科打諢 2023-06-26 16:22:55
在我的 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())


查看完整回答
反對 回復 2023-06-26
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號