@CsabaToth siempre que tenga una implementación de Python que cumpla con las especificaciones de su sistema operativo, lo anterior es independiente del sistema operativo.
Chris
83
Tenga en cuenta que si confía en que el sueño dure exactamente 50 ms, no obtendrá eso. Solo se tratará de eso.
Puede ser 10 o 15 ms más largo que eso en algunas plataformas, así que ten cuidado.
Kylotan
3
¿Es un retraso constante en un sistema dado?
user391339
77
@ user391339 Por experiencia no es consistente. La prioridad del subproceso / proceso, el promedio de carga de la CPU, la memoria disponible y una gran cantidad de otros factores hacen que todas las llamadas sean imprecisas. Cuanto más ocupado esté el sistema, mayor será la imprecisión.
David
2
Sin embargo, puede ser interesante saber que 'la función [ time.sleep(secs)] duerme al menossecs ' desde Python 3.5 de acuerdo con la documentación.
from __future__ import divisionpara eliminar ese gotcha.
Nick T
1
las unidades están en segundos, no en milisegundos
Nikhil VJ
2
también puede usar pyautogui como
import pyautogui
pyautogui._autoPause(0.05,False)
si primero no es Ninguno, entonces se detendrá por el primer segundo argumento, en este ejemplo: 0.05 segundos
si el primero es Ninguno y el segundo argumento es Verdadero, se suspenderá para la configuración de pausa global que se establece con
pyautogui.PAUSE = int
Si se pregunta la razón, vea el código fuente:
def _autoPause(pause, _pause):"""If `pause` is not `None`, then sleep for `pause` seconds.
If `_pause` is `True`, then sleep for `PAUSE` seconds (the global pause setting).
This function is called at the end of all of PyAutoGUI's mouse and keyboard functions. Normally, `_pause`
is set to `True` to add a short sleep so that the user can engage the failsafe. By default, this sleep
is as long as `PAUSE` settings. However, this can be override by setting `pause`, in which case the sleep
is as long as `pause` seconds.
"""if pause isnotNone:
time.sleep(pause)elif _pause:assert isinstance(PAUSE, int)or isinstance(PAUSE, float)
time.sleep(PAUSE)
Tenga en cuenta que si confía en que el sueño dure exactamente 50 ms, no obtendrá eso. Solo se tratará de eso.
fuente
time.sleep(secs)
] duerme al menossecs
' desde Python 3.5 de acuerdo con la documentación.fuente
from __future__ import division
para eliminar ese gotcha.también puede usar pyautogui como
si primero no es Ninguno, entonces se detendrá por el primer segundo argumento, en este ejemplo: 0.05 segundos
si el primero es Ninguno y el segundo argumento es Verdadero, se suspenderá para la configuración de pausa global que se establece con
Si se pregunta la razón, vea el código fuente:
fuente
time.sleep
que esto, pero si quieres que tu programa sea pura autopygui, entonces puede ser una forma.También puedes hacerlo usando la
Timer()
función.Código:
fuente