作者Whisky (AnAn Ni Hao)
看板Python
標題[問題] Subprocess使用
時間Mon Apr 20 12:52:53 2020
小弟目前使用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
→ evallen: try, except? 04/20 15:25
我原本是用try, except沒錯
但就卡在它透過subprocess呼叫notepad++時並沒有出任何問題
而是notepad++試著開啟過大的檔案時會出現原文中提到的警告然後開啟失敗
我想請教版上大大們的是:
這種由subprocess呼叫的外部程式所出現的例外狀況
有沒有辦法反過來藉由subprocess去取得呢?
※ 編輯: Whisky (42.73.130.84 臺灣), 04/20/2020 15:30:53
→ AndCycle: 那要該程式吐錯誤回傳才行, 這種有GUI的很難 04/20 15:46
→ AndCycle: 你還不如事前去看一下該log是不是大到notepad++開不起來 04/20 15:47
我後來還是先檢查檔案大小,超過一定的size就不用notepad++開啟了
感謝各位~
※ 編輯: Whisky (42.73.130.84 臺灣), 04/20/2020 15:48:53