Linux 板


LINE

各位前輩您好,由於不知道要放在linux還是python版,若有錯版我會馬上刪文 當我在terminal執行sudo ./sync_to_gps8 >123.txt時,都能夠順利執行,但因為我需要 用python去統整,所以我使用了python的subprocess 模組,但是當我一樣執行sudo ./sy nc_to_gps8 >123.txt,卻遇到了這個問題,但我也不知道這是錯在哪裡,希望各位前輩 指導,謝謝各位前輩 正常在terminal執行: https://i.imgur.com/m3CBuSH.jpg 用subprocess模組執行(發生錯誤): https://i.imgur.com/y9fmwq9.jpg 程式碼: https://i.imgur.com/dmIp5Dk.jpg --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.220.152 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1621854211.A.0F7.html ※ 編輯: asd24693120 (42.75.220.152 臺灣), 05/24/2021 19:14:06
1F:推 goldie: cwd 是否不在哪?找不到 python script 檔?05/24 19:48
2F:→ goldie: 改執行 sudo pwd 印出路徑來看看?05/24 19:48
https://i.imgur.com/eaJkilv.jpg
3F:→ goldie: 還有,文不對題05/24 19:48
想請問g大,我路徑印出來了,另外想請問我的標題有哪裡下的不對嗎?我立刻改,謝謝 您指導
4F:→ oToToT: 文有不對題嗎OAO?05/24 20:15
5F:→ oToToT: 你跟你上面一樣多加個 shell=True 就會動了吧05/24 20:19
真的,這樣就可以了,想請問o大為什麼這樣就可以了呢? ※ 編輯: asd24693120 (111.254.58.80 臺灣), 05/24/2021 20:27:58
6F:→ oToToT: 我沒理解錯的話,你不加 shell=True 的話它會去找檔案名稱05/24 21:52
7F:→ oToToT: 為 'sudo ./sync_ ...' 的程式來執行05/24 21:52
8F:→ oToToT: 加了會真的 invoke 一個 shell 出來跑你給他的指令05/24 21:53
原來如此,謝謝o大
9F:推 goldie: 推樓上 oToToT 大看出問題癥結點,高手!05/24 21:58
10F:→ goldie: 這個問題比較像是同個命令能在一般 shell 執行,05/24 21:58
11F:→ goldie: 但是卻無法執行於 Python 的 subprocess,05/24 21:58
12F:→ goldie: 另外,錯誤訊息 No such file or directory 跟…05/24 21:58
13F:→ goldie: ">" 重導向沒有關係,所以我才會覺得文不對題05/24 21:58
謝謝g大的建議,因為我也不太曉得要怎麼問才能完美表示出問題,經您這樣說,我大概 知道您的意思了
14F:→ kenduest: 其實官方說很清楚,預設 shell=False 時候,你帶入的05/24 22:13
15F:→ kenduest: 那個字串會當作要執行時間的程式檔案名稱05/24 22:14
16F:→ kenduest: 你有用 shell 內 io 重導的符號時候,需要用 shell=True05/24 22:15
請問io重導是什麼意思呢?
17F:→ kenduest: 畢竟這些符號只有 shell 可以認識,所以會開啟外部的05/24 22:15
18F:→ kenduest: shell 程式,把整個字串當命令丟給 shell 執行 05/24 22:16
19F:→ kenduest: shell=True 基本上就等於傳統 os.system() 使用05/24 22:17
20F:→ kenduest: 若你不使用 shell=True 要使用 subprocess.call()05/24 22:19
21F:→ kenduest: 一般就是得改成帶入 ['sudo', './sysnc_to_gps8']05/24 22:20
22F:→ kenduest: 至於 > 123.txt, 可以用 open() 開檔帶入給 stdout 參數05/24 22:24
謝謝k大仔細的講解,讓我真的又學到了一課
23F:推 oToToT: 推樓上講得更清楚05/24 22:38
24F:推 Typebrook: 推,樓上解釋道得很清楚 05/25 08:27
真的很謝謝各位前輩耐心的指導~ ※ 編輯: asd24693120 (111.254.58.80 臺灣), 05/25/2021 08:55:14
25F:推 goldie: ok理解,那不改標題也沒差多少了 05/25 12:20
26F:推 goldie: io重導向指的是 shell 的 IO Redirection 05/25 12:31
27F:→ goldie: 就是 >、<、2>&1、…、這類的東西 05/25 12:32
28F:→ goldie: 由 shell 幫你重導 stdin/stdout/stderr 到其他 fd 或檔 05/25 12:33
29F:→ goldie: 案 05/25 12:33
原來如此,謝謝g大指導
31F:推 Bencrie: 其實就 exec sudo vs exec sh -c sudo 的差別05/25 13:33
嗚嗚,b大說的這個我也不是很懂 ※ 編輯: asd24693120 (42.74.31.161 臺灣), 05/26/2021 14:01:16







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP