サブクラスがthreading.Thread
のクラスを作成することで、このような問題に近づくと思います。そこから、run
メソッドを実行したい機能で上書きします。この場合、リストに項目が入れられます。次に、main
に、そのスレッドを開始してからsleep
を呼び出します。クラスは次のようになります。
class ListBuilder(threading.Thread):
def__init__(self):
super().__init__()
self._finished = False
self.lst = []
def get_data():
# This is the data retrieval function
# It could be imported in, defined outside the class, or made static.
def run(self):
while not self._finished:
self.lst.append(self.get_data())
def stop(self):
self._finished = True
あなたmain
は、あなたがしなければならないすべては午前0時19分でそれを実行するには、Windowsタスクスケジューラを使用している、今
import time
if __name__ == '__main__':
lb = ListBuilder()
lb.start()
time.sleep(120) # sleep for 120 seconds, 2 minutes
lb.stop()
time.sleep(.1) # A time buffer to make sure the final while loop finishes
# Depending on how long each while loop iteration takes,
# it may not be necessary or it may need to be longer
do_stuf(lb.lst) # performs actions on the resulting list
のようになります。設定する必要があります。
ありがとうございます!これは私が探していた答えでした! :) – Andres123