[問題] Subprocess使用

看板Python作者 (AnAn Ni Hao)時間4年前 (2020/04/20 12:52), 4年前編輯推噓0(003)
留言3則, 2人參與, 4年前最新討論串1/1
小弟目前使用python subprocess呼叫Notepad++來開啟一些log檔 不過預期可能會有部分檔案較大(2、3g以上等級的log檔) 雖然可以順利呼叫,但是會顯示"File is too big to be opened by Notepad++" 為了防止這種情況發生,我的想法是如果無法正常以Notepad++開啟時 再次使用subprocee呼叫其他外部程式來開啟 但是對於整個流程來說,python確實順利呼叫了Notepad++ 所以想請問版上的前輩們, subprocess是否有什麼方式可以得到以上這種情形的任何feedback 進而判斷log檔無法開啟呢? P.S. 使用Python 3.8.1、Notepad++為32-bit版本 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.205.193 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1587358375.A.C96.html ※ 編輯: Whisky (42.72.205.193 臺灣), 04/20/2020 12:59:34

04/20 15:25, 4年前 , 1F
try, except?
04/20 15:25, 1F
我原本是用try, except沒錯 但就卡在它透過subprocess呼叫notepad++時並沒有出任何問題 而是notepad++試著開啟過大的檔案時會出現原文中提到的警告然後開啟失敗 我想請教版上大大們的是: 這種由subprocess呼叫的外部程式所出現的例外狀況 有沒有辦法反過來藉由subprocess去取得呢? ※ 編輯: Whisky (42.73.130.84 臺灣), 04/20/2020 15:30:53

04/20 15:46, 4年前 , 2F
那要該程式吐錯誤回傳才行, 這種有GUI的很難
04/20 15:46, 2F

04/20 15:47, 4年前 , 3F
你還不如事前去看一下該log是不是大到notepad++開不起來
04/20 15:47, 3F
我後來還是先檢查檔案大小,超過一定的size就不用notepad++開啟了 感謝各位~ ※ 編輯: Whisky (42.73.130.84 臺灣), 04/20/2020 15:48:53
文章代碼(AID): #1UdIgdoM (Python)