看板 Python 關於我們 聯絡資訊
各位版友好, 小弟設計了一套工具,但架構上不知道是否正確所以想請教一下各位, 工具為一個主檔案和多個可被選來執行的副檔案, 主檔案結構如下: #main import … def Loop(): for member in list: try: #依序執行被選中的副檔案 except: #exception processed #希望就算其中一個副檔案執行時失敗也要繼續執行下一個副 檔案 continue if __name__==‘__main__’: try: Loop() except: #exception processed 每個副檔案的架構如下: #main import … if __name__==‘__main__’: try: #do something except: #exception processed 請問在這種架構下,若副檔案進入exception時,主檔案會繼續執行下一個副檔案嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.136.91 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1562823217.A.704.html
XperiaZ6C: 你副檔案不能用 if __name__==‘__main__’ 啊07/11 13:35
XperiaZ6C: 這樣根本不會執行07/11 13:36
我是用popen去執行每個副檔案,可以執行耶...或是該怎麼做比較恰當呢? ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 13:38:24
XperiaZ6C: 而且你continue放在for迴圈的最後一行那等於沒寫07/11 13:37
我原本寫法有誤,應該是要放在except底下,請問若改為現在文章中的架構,請問其中一 個副檔案進入exception時其他檔案會繼續執行嗎? ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 14:06:08
XperiaZ6C: 喔喔,用popen去開每個副檔案的話那沒事,我以為你用07/11 14:08
XperiaZ6C: 一般function呼叫07/11 14:08
XperiaZ6C: 你其實continue可以不用加,你把所有exception都拉出07/11 14:10
XperiaZ6C: 來處理了,程式不會中斷,它在except裡面跑完自然會繼07/11 14:10
XperiaZ6C: 續跑for迴圈07/11 14:10
XperiaZ6C: 是說你用popen的話,那你主程式也不用try-except啊,07/11 14:17
XperiaZ6C: 在你的副檔案裡面處理就好,副檔案沒成功也不會造成你07/11 14:17
XperiaZ6C: 主程式的for迴圈中斷 07/11 14:17
主檔案除了處理副檔案還有作其他事情,所以必須用except去紀錄錯誤訊息 ※ 編輯: Dong0129 (42.73.136.91 臺灣), 07/11/2019 15:37:57