ผมพยายามทดลองเรียกใช้ module หน่วงเวลา time.sleep() ในภาษาไพทอนอยู่หลายรอบก็ไม่สำเร็จสักที หากเป็นโปรแกรมสั้นๆก็เรียกใช้ได้ปรกติ โดยไม่มีข้อผิดพลาดอะไร แต่พอโปรแกรมมีความซับซ้อนเพิ่มขึ้นกลับเรียกใช้งานไม่ได้ มีข้อผิดพลาดตามตัวอย่างด้านล่าง
Traceback (most recent call last): File "C:/Python/stock-signal.py", line 58, in <module> time.sleep(5) AttributeError: 'str' object has no attribute 'sleep'
ซึ่งในที่สุดก็ต้องเขียนโปรแกรมหน่วงเวลาขึ้นมาใช้เองรายละเอียดโปรแกรม delay-time.py มีดังนี้
#!/usr/bin/env python3
from datetime import datetime
delay = 5
now = datetime.now()
start = now.strftime("%S")
print('Start time = ' + start)
print('Please wait for delay ' + str(delay) + ' sec.')
while True:
now = datetime.now()
sec = now.strftime("%S")
if int(sec) >= int(start)+delay:
break
print('Stop time = ' + sec)
ค่าหน่วงเวลามีหน่วยเป็นวินาทีกำหนดค่าไว้ที่บรรทัดที่ 5 ในบรรทัดที่ 6 เป็นการดึงค่าเวลาปัจจุบันมาเก็บไว้ที่ตัวแปล now จากนั้นดึงค่าวินาทีปัจจุบันมาไว้ที่ตัวแปร start ในบรรทัดที่ 7 เรียบร้อยแล้วก็วนลูปเช็คค่าวินาทีปัจจุบันว่าตรงกับค่าที่เรากำหนดหน่วงเวลาไว้หรือยัง? ในบรรทัดที่ 10-14 ซึ่งผลลัพธ์ของโปรแกรมจะแสดงผลดังนี้