mainで受け取ったItems(人の名前のリスト)を
マルチスレッドで並列化しその人の詳細情報を取得するプログラムを作っています。
10人リストを渡した時に詳細情報が存在しない場合に
処理を中断することを考えているのですがsubmain()にbreakを置いたことで
以下のプログラムではエラーが発生します。
'break' outside loop
breakはループの中(for)でおくべきものなので当然ですが。。
どのように対処すればよいでしょうか?
python
1def main(Items): 2 mult = ThreadPoolExecutor(max_workers=10, thread_name_prefix="thread") 3 for Item in Items: 4 mult .submit(submain,Item) 5 mult.shutdown() 6 7def submain(Item): 8 try: 9 result = get_attr(Item) 10 except KeyError as ex: 11 SetErrorMassage('Error001') 12 break 13 dict = {'name':result['name']} 14 15dictRes = dict() 16if dict is not None: 17 return dict 18else 19 dictRes = GetErrorMassage() 20 return dictRes
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/08 03:24
2021/03/08 03:29