作者Pettitte1 (低調奢華有內涵)
看板Python
標題[問題] multiprocessing.pool能不用name==main嗎
時間Wed Nov 30 09:34:13 2022
是這樣的 目前已經會用 multiprocessing.pool 來取得結果
範例 code 如下
https://paste.ee/p/DY72q
我可以在 if __name__ == '__main__': 之後取得我要的 data "d"
如果我後續想要對 d 進行其他各種運算
是否就只能在 if __name__ == '__main__': 縮排內進行各種動作?
能夠不用 if __name__ == '__main__':
就直接 run m() 這個 function 嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.128.102 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1669772057.A.DD5.html
後來自己測試了一下
把 if __name__ == '__main__': 這部份包在一個 function 裡
def test():
if __name__ == '__main__':
d = ...
return d
這樣就可以不用一直在 if __name__ == '__main__': 的縮排內進行其他事了
※ 編輯: Pettitte1 (27.247.128.102 臺灣), 11/30/2022 11:10:50
→ lycantrope: 會這樣寫表示你不懂if __name__ == "__main__"的作用 11/30 12:54
→ Pettitte1: 後來實際用了之後有問題 只能乖乖用了 哈 11/30 13:36
→ dobedobedo: if __name__ == '__main__' 是判斷程式是否直接執行 11/30 19:11
→ dobedobedo: 一般是用他呼叫主函數,而不是寫在函數裡 11/30 19:13
→ s860134: 這個判斷式主要是在防止import 時被執行 12/21 00:00
→ s860134: 只有直接被執行時 .py 檔內這個等式會成立,如是被 impo 12/21 00:02
→ s860134: rt 導入時不會成立 12/21 00:02