@CsabaToth, desde que você tenha uma implementação Python que atenda às especificações do seu sistema operacional, a descrição acima é independente do sistema operacional.
21718 Chris
83
Observe que se você confiar no sono levando exatamente 50 ms, não conseguirá isso. Será apenas sobre isso.
Pode demorar 10 ou 15ms a mais do que isso em algumas plataformas, portanto, esteja avisado.
Kylotan
3
É um atraso consistente em um determinado sistema?
user391339
7
@ user391339 Por experiência, não é consistente. A prioridade do encadeamento / processo, a média de carga da CPU, a memória disponível e uma infinidade de outros fatores tornam todas as chamadas imprecisas. Quanto mais ocupado o sistema, maior a imprecisão.
David David
2
Pode ser interessante saber que 'a função [ time.sleep(secs)] dorme pelo menossecs ' desde o Python 3.5, de acordo com a documentação.
from __future__ import divisionpara eliminar essa pegadinha.
Nick T
1
as unidades estão em segundos, não em milissegundos
Nikhil VJ
2
também pode usar o pyautogui como
import pyautogui
pyautogui._autoPause(0.05,False)
se first não for None, ele será pausado pelo primeiro arg segundo, neste exemplo: 0,05 seg
se o primeiro for None e o segundo argumento for True, ele será suspenso para a configuração de pausa global definida com
pyautogui.PAUSE = int
Se você está se perguntando o motivo, consulte o código-fonte:
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)
Observe que se você confiar no sono levando exatamente 50 ms, não conseguirá isso. Será apenas sobre isso.
fonte
time.sleep(secs)
] dorme pelo menossecs
' desde o Python 3.5, de acordo com a documentação.fonte
from __future__ import division
para eliminar essa pegadinha.também pode usar o pyautogui como
se first não for None, ele será pausado pelo primeiro arg segundo, neste exemplo: 0,05 seg
se o primeiro for None e o segundo argumento for True, ele será suspenso para a configuração de pausa global definida com
Se você está se perguntando o motivo, consulte o código-fonte:
fonte
time.sleep
pouco do que isso, mas se você deseja que seu programa seja puro autopygui, isso pode ser uma maneira.Você também pode fazer isso usando a
Timer()
funçãoCódigo:
fonte