ฉันจะทำให้โปรแกรม Python ของฉันเข้าสู่โหมดสลีปเป็นเวลา 50 มิลลิวินาทีได้อย่างไร


536

ฉันจะทำให้โปรแกรม Python ของฉันเข้าสู่โหมดสลีปเป็นเวลา 50 มิลลิวินาทีได้อย่างไร

คำตอบ:


822
from time import sleep
sleep(0.05)

การอ้างอิง


7
@CsabaToth ตราบใดที่คุณมีการนำ Python มาใช้ซึ่งขึ้นอยู่กับข้อกำหนดของระบบปฏิบัติการของคุณดังกล่าวข้างต้นเป็นระบบปฏิบัติการที่เป็นอิสระ
คริส

83

โปรดทราบว่าถ้าคุณต้องใช้ในการนอนหลับการว่า 50 มิลลิวินาทีคุณจะไม่ได้รับว่า มันจะเกี่ยวกับมัน


35
มันอาจจะยาวกว่า 10 หรือ 15ms ในบางแพลตฟอร์มดังนั้นโปรดเตือน
Kylotan

3
มันเป็นความล่าช้าที่สอดคล้องกันในระบบที่กำหนด?
user391339

7
@ user391339 จากประสบการณ์นั้นไม่สอดคล้องกัน ลำดับความสำคัญของเธรด / กระบวนการ, โหลด CPU avg, หน่วยความจำที่มีอยู่และปัจจัยอื่น ๆ อีกมากมายที่ทำให้การโทรทั้งหมดไม่ชัดเจน ยิ่งระบบยุ่งมากก็ยิ่งมีความไม่แม่นยำมากขึ้น
เดวิด

2
อาจจะน่าสนใจที่จะรู้ว่า 'ฟังก์ชั่น [ time.sleep(secs)] หลับอย่างน้อย secs ' ตั้งแต่ Python 3.5 ตามเอกสาร
Elias Strehle


2

ยังสามารถใช้ pyautogui เป็น

import pyautogui
pyautogui._autoPause(0.05,False)

หากแรกไม่ใช่ไม่ใช่จากนั้นจะหยุดชั่วคราวสำหรับอาร์กิวเมนต์อันดับสองในตัวอย่างนี้: 0.05 วินาที

ถ้าแรกคือไม่มีและหาเรื่องที่สองคือจริงแล้วมันจะนอนสำหรับการตั้งค่าการหยุดชั่วคราวทั่วโลกซึ่งถูกตั้งค่าด้วย

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)

1
อย่างใดมันจะดีกว่าที่จะใช้time.sleepมากกว่านี้แล้ว แต่ถ้าคุณต้องการให้โปรแกรมของคุณเป็น autopygui บริสุทธิ์แล้วนี่อาจเป็นวิธี
Okie

2

คุณสามารถทำได้โดยใช้Timer()ฟังก์ชั่น

รหัส:

from threading import Timer

def hello():
  print("Hello")

t = Timer(0.05, hello)
t.start()  # After 0.05 seconds, "Hello" will be printed
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.