Pertanyaan Bagaimana saya bisa menunda waktu dengan Python?


Saya ingin tahu bagaimana menempatkan waktu tunda dalam skrip Python.


2026
2018-02-04 07:04


asal


Jawaban:


import time
time.sleep(5)   # Delays for 5 seconds. You can also use a float value.

Berikut ini contoh lain di mana ada sesuatu yang dijalankan kira-kira satu menit:

import time
while True:
    print("This prints once a minute.")
    time.sleep(60) # Delay for 1 minute (60 seconds).

2254
2018-02-04 07:05



Anda dapat menggunakan sleep() berfungsi dalam modul waktu. Ini dapat mengambil argumen float untuk resolusi sub-kedua.

from time import sleep
sleep(0.1) # Time in seconds.

564
2017-09-15 16:34



Silakan baca https://web.archive.org/web/20090207081238/http://faqts.com/knowledge_base/view.phtml/aid/2609/fid/378, yang dapat membantu Anda lebih jauh:

Coba fungsi tidur dalam modul waktu.

import time
time.sleep(60)

Dan taruh ini di while loop dan pernyataan hanya akan dieksekusi pada   menit ... Yang memungkinkan Anda untuk menjalankan pernyataan pada interval yang telah ditentukan   terlepas dari berapa lama perintah mengambil (selama dibutuhkan kurang dari   satu menit atau 5 atau 60 atau apa pun yang Anda tetapkan untuk) Misalnya, saya ingin   jalankan ping satu menit sekali. Jika saya hanya time.sleep(60) atau time.sleep(45)    bahkan, ping tidak akan selalu mengambil jumlah waktu yang sama. Ini dia   kode :)

time.sleep(time.localtime(time.time())[5])

Itu [5] hanya menarik detik keluar dari time.localtime()kembali   nilai.

Hal yang hebat tentang time.sleep adalah bahwa ia mendukung floating point   angka!

import time
time.sleep(0.1) 

http://python.org/doc/current/lib/module-time.html


118
2018-02-04 07:07



Anda bisa mendapatkannya hanya dengan melakukan ini:

from time import sleep

# Doing stuff
sleep(0.5) # Sleeping half a second (sleep() uses seconds, but you can also use floats)
# Doing stuff...

55
2018-01-18 18:48



Sedikit bersenang-senang dengan mengantuk generator.

Pertanyaannya adalah tentang penundaan waktu. Ini bisa menjadi waktu yang tetap, tetapi dalam beberapa kasus kita mungkin membutuhkan penundaan yang diukur sejak terakhir kali. Berikut ini salah satu solusi yang mungkin:

Keterlambatan diukur sejak terakhir kali (bangun secara rutin)

Situasinya bisa, kami ingin melakukan sesuatu secara teratur mungkin dan kami tidak ingin repot dengan semua itu last_time, next_time barang-barang di sekitar kode kami.

Generator Buzzer

Kode berikut (sleepy.py) mendefinisikan a buzzergen generator:

import time
from itertools import count

def buzzergen(period):
    nexttime = time.time() + period
    for i in count():
        now = time.time()
        tosleep = nexttime - now
        if tosleep > 0:
            time.sleep(tosleep)
            nexttime += period
        else:
            nexttime = now + period
        yield i, nexttime

Meminjam buzzergen biasa

from sleepy import buzzergen
import time
buzzer = buzzergen(3) # Planning to wake up each 3 seconds
print time.time()
buzzer.next()
print time.time()
time.sleep(2)
buzzer.next()
print time.time()
time.sleep(5) # Sleeping a bit longer than usually
buzzer.next()
print time.time()
buzzer.next()
print time.time()

Dan menjalankannya kita lihat:

1400102636.46
1400102639.46
1400102642.46
1400102647.47
1400102650.47

Kami juga dapat menggunakannya langsung dalam satu lingkaran:

import random
for ring in buzzergen(3):
    print "now", time.time()
    print "ring", ring
    time.sleep(random.choice([0, 2, 4, 6]))

Dan menjalankannya kita mungkin melihat:

now 1400102751.46
ring (0, 1400102754.461676)
now 1400102754.46
ring (1, 1400102757.461676)
now 1400102757.46
ring (2, 1400102760.461676)
now 1400102760.46
ring (3, 1400102763.461676)
now 1400102766.47
ring (4, 1400102769.47115)
now 1400102769.47
ring (5, 1400102772.47115)
now 1400102772.47
ring (6, 1400102775.47115)
now 1400102775.47
ring (7, 1400102778.47115)

Seperti yang kita lihat, bel ini tidak terlalu kaku dan memungkinkan kita untuk mengejar interval tidur yang teratur bahkan jika kita kesiangan dan keluar dari jadwal rutin.


33
2018-05-14 21:30



Bagaimana saya bisa menunda waktu dengan Python?

Dalam satu utas saya menyarankan fungsi tidur:

>>> from time import sleep

>>> sleep(4)

Ini benar-benar menunda pemrosesan dari benang yang disebut oleh sistem operasi, memungkinkan benang dan proses lain untuk mengeksekusi saat ia tidur.

Gunakan untuk tujuan itu, atau hanya untuk menunda fungsi dari eksekusi. Sebagai contoh:

>>> def party_time():
...     print('hooray!')
... 
>>> sleep(3); party_time()
hooray!

"hore!" dicetak 3 detik setelah saya memukul Memasukkan.

Contoh menggunakan sleep dengan banyak utas dan proses

Lagi, sleep menunda utas Anda - ini menggunakan di samping kekuatan pemrosesan nol.

Untuk menunjukkan, buat skrip seperti ini (saya pertama kali mencoba ini dalam shell Python 3.5 interaktif, tetapi sub-proses tidak dapat menemukan party_later berfungsi untuk beberapa alasan):

from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
from time import sleep, time

def party_later(kind='', n=''):
    sleep(3)
    return kind + n + ' party time!: ' + __name__

def main():
    with ProcessPoolExecutor() as proc_executor:
        with ThreadPoolExecutor() as thread_executor:
            start_time = time()
            proc_future1 = proc_executor.submit(party_later, kind='proc', n='1')
            proc_future2 = proc_executor.submit(party_later, kind='proc', n='2')
            thread_future1 = thread_executor.submit(party_later, kind='thread', n='1')
            thread_future2 = thread_executor.submit(party_later, kind='thread', n='2')
            for f in as_completed([
              proc_future1, proc_future2, thread_future1, thread_future2,]):
                print(f.result())
            end_time = time()
    print('total time to execute four 3-sec functions:', end_time - start_time)

if __name__ == '__main__':
    main()

Contoh keluaran dari skrip ini:

thread1 party time!: __main__
thread2 party time!: __main__
proc1 party time!: __mp_main__
proc2 party time!: __mp_main__
total time to execute four 3-sec functions: 3.4519670009613037

Multithreading

Anda dapat memicu suatu fungsi untuk dipanggil di lain waktu dalam utas yang terpisah dengan Timerobjek threading:

>>> from threading import Timer
>>> t = Timer(3, party_time, args=None, kwargs=None)
>>> t.start()
>>>
>>> hooray!

>>> 

Baris kosong menggambarkan bahwa fungsi dicetak ke standar saya dan saya harus memukul Memasukkan untuk memastikan saya ada dalam prompt.

Keuntungan metode ini adalah bahwa sementara Timer benang sudah menunggu, saya bisa melakukan hal-hal lain, dalam hal ini, memukul Memasukkan satu kali - sebelum fungsi dijalankan (lihat perintah kosong pertama).

Tidak ada objek yang terkait di perpustakaan multiprocessing. Anda dapat membuatnya, tetapi mungkin tidak ada karena suatu alasan. Sub-thread lebih masuk akal untuk pengatur waktu sederhana daripada sub-proses baru.


21
2018-06-21 03:25



Perpustakaan tkinter dalam pustaka standar Python adalah alat interaktif yang dapat Anda impor. Pada dasarnya, Anda dapat membuat tombol dan kotak dan popup dan hal-hal yang muncul sebagai jendela yang Anda manipulasi dengan kode.

Jika Anda menggunakan tkinter, JANGAN GUNAKAN TIME.SLEEP() karena itu akan merusak programmu. Ini terjadi pada saya. Sebaliknya, gunakan root.after() dan ganti nilainya selama beberapa detik, dengan milidetik. Misalnya, time.sleep(1) setara dengan root.after(1000) di tkinter.

Jika tidak, time.sleep(), yang sudah banyak dijawab oleh banyak orang, yang merupakan jalan untuk pergi.


20
2018-02-28 19:45



Penundaan dapat diimplementasikan dengan menggunakan tiga metode.

Mari kita mulai dengan yang termudah:

import time
time.sleep(5) # Delay for 5 seconds.

Metode kedua untuk menunda akan menggunakan metode menunggu implisit:

 driver.implicitly_wait(5)

Metode ketiga lebih berguna ketika Anda harus menunggu hingga tindakan tertentu selesai atau hingga sebuah elemen ditemukan:

self.wait.until(EC.presence_of_element_located((By.ID, 'UserName'))

11
2018-01-05 10:41



Untuk menunda waktu Anda harus mengimpor time modul. Dan dengan modul itu Anda hanya perlu menulis:

time.sleep(The amount of time)

Misalnya, jika Anda ingin menunda waktu satu detik sebelum komputer menjalankan jalur lain, Anda harus memasukkan:

time.sleep(1)
print('Hello, World!')

Itu saja :)


9
2017-07-04 10:55



Penundaan dilakukan dengan perpustakaan waktu, khususnya waktu tidur() fungsi...

Untuk membuatnya menunggu sebentar:

from time import sleep
sleep(1)

Ini berfungsi karena dengan melakukan:

from time import sleep

Anda mengekstrak fungsi tidur  hanya dari perpustakaan waktu yang berarti Anda dapat memanggilnya dengan:

sleep(seconds)

daripada harus mengetik

time.sleep()

yang canggung lama untuk mengetik.

Dengan metode ini, Anda tidak akan mendapatkan akses ke fitur lain perpustakaan waktu dan Anda tidak bisa memiliki variabel yang disebut tidur. Tetapi Anda dapat membuat variabel yang disebut waktu.

Perbuatan dari [library] import [function] (, [function2]) sangat bagus jika Anda hanya menginginkan bagian-bagian tertentu dari sebuah modul.

Anda sama-sama bisa melakukannya

import time
time.sleep(1)

dan Anda akan memiliki akses ke fitur lain dari perpustakaan waktu seperti time.clock() selama kamu mengetik waktu.berfungsi, tetapi Anda tidak dapat membuat waktu variabel.


6
2018-06-13 19:04