如何让我的程序休眠 50 毫秒?

问题描述 投票:0回答:6

如何让我的 Python 程序休眠

50
毫秒?

python timer sleep milliseconds
6个回答
1175
投票

使用

time.sleep()

from time import sleep
sleep(0.05)

124
投票

请注意,如果您依赖睡眠时间恰好 50 毫秒,您将无法得到这一结果。这只是关于它。


99
投票

使用

time.sleep()

import time
time.sleep(50 / 1000)

请参阅 Python 文档:https://docs.python.org/library/time.html#time.sleep


19
投票

有一个名为“时间”的模块可以帮助您。我知道两种方法:

  1. sleep

    Sleep(reference)要求程序等待,然后执行其余的代码。

    有两种使用睡眠的方法:

    import time # Import whole time module
    print("0.00 seconds")
    time.sleep(0.05) # 50 milliseconds... make sure you put time. if you import time!
    print("0.05 seconds")
    

    第二种方式不导入整个模块,只是休眠。

    from time import sleep # Just the sleep function from module time
    print("0.00 sec")
    sleep(0.05) # Don't put time. this time, as it will be confused. You did
                # not import the whole module
    print("0.05 sec")
    
  2. 使用

    time.monotonic()
    启动后的使用时间。

    如果您需要运行循环,这种方法很有用。但这一个稍微复杂一些。

    time.monotonic
    time.time
    更好,因为它不考虑闰秒,但它会计算启动时的设置数量。 (来源:马克·拉卡塔

    time_not_passed = True
    from time import monotonic as time # Importing time.monotonic but naming it 'time' for the sake of simplicity
    
    init_time = time() # Or time.monotonic() if whole module imported
    print("0.00 secs")
    while True: # Init loop
        if init_time + 0.05 <= time() and time_not_passed: # Time not passed variable is important as we want this to run once. !!! time.monotonic() if whole module imported :O
            print("0.05 secs")
            time_not_passed = False
    

4
投票

您也可以使用

Timer()
功能来完成。

代码:

from threading import Timer

def hello():
  print("Hello")

t = Timer(0.05, hello)
t.start()  # After 0.05 seconds, "Hello" will be printed

-1
投票

您还可以使用 pyautogui 作为:

import pyautogui
pyautogui._autoPause(0.05, False)

如果第一个参数不是 None,那么它将暂停第一个参数的秒数,在本例中:0.05 秒

如果第一个参数为 None,第二个参数为 True,那么它将在全局暂停设置中休眠,该设置设置为:

pyautogui.PAUSE = int

如果您想知道原因,请参阅源代码:

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 is not None:
        time.sleep(pause)
    elif _pause:
        assert isinstance(PAUSE, int) or isinstance(PAUSE, float)
        time.sleep(PAUSE)
© www.soinside.com 2019 - 2024. All rights reserved.