̽ .

â   
   ȸ 1457   õ 0    

 안녕하세요. 이창준입니다.~

파이썬 코딩 중 막히는 부분이 있어 질문 드립니다. 2CPU에서는 해결 가능성을 확신합니다.^^

import concurrent.futures

class Test():
    def __init__(self):
        super().__init__()
        self.job_list = ['aa', 'bb']
        self.run()

    def run(self):

        def aa():
            print('aa')
            return

        def bb():
            print('bb')
            return

        with concurrent.futures.ThreadPoolExecutor() as executor:
            # data_list = executor.submit(locals()['aa']()) # 정상 작동
            data_list = [executor.submit(locals()[job]()) for job in self.job_list] # key에러 발생

Test()

위의 코드 중 run 메서드 내 

# data_list = executor.submit(locals()['aa']()) 는 정상 작동되나, 

data_list = [executor.submit(locals()[job]()) for job in self.job_list] 의 경우, 키 에러가 발생합니다. locals()내 각각의 메서드가 딕셔너리 형태로 나타납니다만 에러가 발생하네요.

고수분들께 도움을 요청합니다.

ª ϼ ϰ.
2022-09
ΰ?
     
â 2022-09
ƴϿ.^^ Բ .^^
̷ θ ϰ ִµ ãҳ׿.^^
          
2022-09
̶̽ ģѵ..
ϴ for job in job ȿ(scope) ž ϴ.
timeleaf 2022-09
for job in self.job_list:
    executor.submit(locals()[job]()
̷ Ǵµ data_list ϴ ֳ?
     
â 2022-09
ȣ ޼忡 ϰ óϱ Ʈ ް .result() óϱ Դϴ. ó ܼ for ó մϴٸ, Threadingó ϰ óϱ ؼ Ʈ(concurrent.future) óؾ ϴ. ַ Ź帳ϴ.
     
â 2022-09
ó...
        data_list = []
        with concurrent.futures.ThreadPoolExecutor() as executor:
            for job in self.job_list:
                data_list.append(executor.submit(locals()[job]()))
ܼ for Ʈ ִ ϳ׿. ^^
㳪 !!!^^ ڼ ´ ....մϴ.
r510 2022-09
ǵϴ° 𸣰, ۾ °Ÿ ִ contextvar ϼ
â 2022-09
ֽ е鲲 帳ϴ.


QnA
Page 5550/5707
2015-12   1672040   ް
2014-05   5137285   1
2024-01   1459   Caig
2024-04   1459   Software1995
2024-03   1459   Kimmandu
2022-12   1459  
2023-12   1459   ڹ
2022-04   1459   P
2023-06   1459  
2024-04   1459   Ѿź糪
2022-12   1459   jkaem
2023-05   1459   pibang
2022-09   1458   â
2022-06   1458  
2022-11   1458   sunnydsj
2022-03   1458  
2023-07   1458   ڹ
2024-06   1458   ĵl
2023-12   1458   epowergate
2024-09   1457   â
2023-04   1457   ûx
2024-06   1457   VSPress