ubuntu >導向不能用在subprocess - Linux

Rae avatar
By Rae
at 2021-05-24T19:03

Table of Contents

各位前輩您好,由於不知道要放在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

--
Tags: Linux

All Comments

James avatar
By James
at 2021-05-25T14:18
cwd 是否不在哪?找不到 python script 檔?
改執行 sudo pwd 印出路徑來看看?
還有,文不對題
Kelly avatar
By Kelly
at 2021-05-26T09:33
文有不對題嗎OAO?
Hedda avatar
By Hedda
at 2021-05-27T04:48
你跟你上面一樣多加個 shell=True 就會動了吧
Sierra Rose avatar
By Sierra Rose
at 2021-05-28T00:03
我沒理解錯的話,你不加 shell=True 的話它會去找檔案名稱
為 'sudo ./sync_ ...' 的程式來執行
Jacob avatar
By Jacob
at 2021-05-28T19:18
加了會真的 invoke 一個 shell 出來跑你給他的指令
Rachel avatar
By Rachel
at 2021-05-29T14:33
推樓上 oToToT 大看出問題癥結點,高手!
這個問題比較像是同個命令能在一般 shell 執行,
但是卻無法執行於 Python 的 subprocess,
另外,錯誤訊息 No such file or directory 跟…
">" 重導向沒有關係,所以我才會覺得文不對題
Zenobia avatar
By Zenobia
at 2021-05-30T09:48
其實官方說很清楚,預設 shell=False 時候,你帶入的
Irma avatar
By Irma
at 2021-05-31T05:03
那個字串會當作要執行時間的程式檔案名稱
Madame avatar
By Madame
at 2021-06-01T00:18
你有用 shell 內 io 重導的符號時候,需要用 shell=True
畢竟這些符號只有 shell 可以認識,所以會開啟外部的
Candice avatar
By Candice
at 2021-06-01T19:33
shell 程式,把整個字串當命令丟給 shell 執行
Oliver avatar
By Oliver
at 2021-06-02T14:49
shell=True 基本上就等於傳統 os.system() 使用
Isla avatar
By Isla
at 2021-06-03T10:04
若你不使用 shell=True 要使用 subprocess.call()
Agnes avatar
By Agnes
at 2021-06-04T05:19
一般就是得改成帶入 ['sudo', './sysnc_to_gps8']
Erin avatar
By Erin
at 2021-06-05T00:34
至於 > 123.txt, 可以用 open() 開檔帶入給 stdout 參數
Brianna avatar
By Brianna
at 2021-06-05T19:49
推樓上講得更清楚
Suhail Hany avatar
By Suhail Hany
at 2021-06-06T15:04
推,樓上解釋道得很清楚
Hedwig avatar
By Hedwig
at 2021-06-07T10:19
ok理解,那不改標題也沒差多少了
Oscar avatar
By Oscar
at 2021-06-08T05:34
io重導向指的是 shell 的 IO Redirection
Margaret avatar
By Margaret
at 2021-06-09T00:49
就是 >、<、2>&1、…、這類的東西
Robert avatar
By Robert
at 2021-06-09T20:04
由 shell 幫你重導 stdin/stdout/stderr 到其他 fd 或檔
Audriana avatar
By Audriana
at 2021-06-11T10:34
其實就 exec sudo vs exec sh -c sudo 的差別

請問有熟rapidminer資料探勘工具的人嗎?

George avatar
By George
at 2021-05-23T08:38
如題 可以先私訊給我.. 感激不盡 ----- Sent from JPTT on my iPhone - ...

args特殊字元輸入請益

Regina avatar
By Regina
at 2021-05-21T23:53
各位板上大神們好 小弟最近遇到一個問題想求解 我希望能夠透過指令(程式亦可)的方式將args寫入另一份檔案 但是遇到特殊字元時就失敗了 目前有嘗試過shell script 、 python 、 ansible with extra-var 都沒有辦法解決 請問有沒有大大能提供想法呢? 狀況範例 ...

Linux 學習資源請益

John avatar
By John
at 2021-05-21T20:57
嗨,大家好。 我想向大家請益一些 Linux 學習的相關書籍或資源! 想詢問大家有沒有像底下這網頁這種的: https://www.thomas-krenn.com/en/wiki/Linux_Page_Cache_Basics 這網頁我覺得很棒的地方在於:在講解某個OS知識的時候,順便搭配一些 Lin ...

有使用Debian10安裝Bugzilla 成功過的嗎?

Mary avatar
By Mary
at 2021-05-21T16:04
Debian10 + Apache2 + php7.3 + MySQL 使用 perl -MCPAN -e and#39;install and#34;Bundle::Bugzillaand#34; 安裝所有必需軟體。 再用checksetup.pl 測試是否有遺漏,最後checksetup.pl 在MSQL ...

Parallel --retries使用上的問題

Una avatar
By Una
at 2021-05-21T13:08
大家好,小弟最近因為需要複製個很多目錄跟檔案的project, 覺得只用cp -r速度太慢,因此想用parallel的方式複製, 但用find xxx很麻煩需要先建目錄再copy檔案, 如果各位大大有更好的方式再麻煩指導一下。 我現在遇到的問題是,我用parallel的方式去mkdir, 路徑大概是這樣 s ...