subprocess を使って、 python のプログラムを3度実行するのですが、その際に3つのプログラムから一つのqueueを参照したいです。
引数でqueueを送ろうとしたのですが、エラーになります。
どのようにすれば、queueをsubprocessの引数にできるのでしょうか?
アドバイスいただきたいです。
solved_code.py
1import queue 2import threading 3import time 4 5def login(queue, driver_num): 6 while True: 7 task = queue.get() 8 time.sleep(2) 9 queue.task_done() 10 print(f'driver{driver_num} : task{task}') 11 12queue = queue.Queue() 13for driver_num in range(1,4): 14 thread = threading.Thread(target=login, args=(queue, driver_num,), daemon=True) 15 thread.start() 16 17f=open('data.txt') 18data_list=f.read() 19for data in data_list.split('\n'): 20 if data!='': 21 queue.put(data) 22queue.join()
import subprocess import queue screenshot_home_queue=queue.Queue() f=open('data.txt') data_list=f.read() f.close() for data in data_list.split('\n'): screenshot_home_queue.put(data) cmd='python test.py 1 {}'.format(screenshot_home_queue) subprocess.Popen(cmd +'&',shell=True) subprocess.Popen(cmd +'&',shell=True) subprocess.Popen(cmd +'&',shell=True)
/bin/sh: -c: line 0: syntax error near unexpected token `newline' /bin/sh: -c: line 0: `python test.py 1 <queue.Queue object at 0x7fe2dbd8e370>'

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/31 05:32
2022/07/31 06:03
2022/07/31 06:12
2022/07/31 07:24
2022/07/31 10:07 編集