質問: pyautogui 動いた時にマウス座標を得る 動かないなら何もしない whileで常時監視にして、 マウスが動いた時に座標を取得しようとしてますが、 whileが動き続けて処理が膨らみます。 どの様にすれば、抑えれるでしょうか? ``` import pyautogui from time import sleep i=0 T=[] l=[] while i==0: sleep(0.01) T+=[list(pyautogui.position())] # 最新状態の座標を確認 #print(T[-1],T[-2]) # 前回の座標と更新された座標が同じ if T[i-2]==T[-1]: pass # 座標が違うならl配列に追加 else: l+=[list(pyautogui.position())] print(l[-1]) # 最新の座標を確認 ```
回答: マウスってそれこそ沢山イベントを発しますからそれを過去から全て覚えておいてもしかたないんじゃないでしょうか? > > whileが動き続けて処理が膨らみます > > > 処理が膨らむというよりは変数`l`の要素数が長くなりすぎるのですよね?一定の長さの範囲しか覚えないようにしてはいかがでしょうか? `l += [list(pyautogui.position())]` => `l = [-100:] + [list(pyautogui.position())]` とか