Python是一个动态而友好的编程语言,提供了许多方便的库和工具,能够简化开发并让代码更易于阅读。其中,时间模块是Python必不可少的一部分,因为很多应用都需要涉及到时间控制。Python的时间模块在处理时间方面表现得非常出色,能够轻松地实现精确的时间控制。
一、获取当前时间
import datetime
now = datetime.datetime.now()
print("当前时间:", now)
我们使用`datetime.now()`函数获取当前时间的精确值,并将其赋值给变量`now`。`now`包含当前日期和时间。在Python中,`datetime`模块提供了许多操作时间的方法,例如格式化、时间差、历法算术等等。
返回结果的格式为类似`2020-07-31 15:50:45.288150'`的字符串,其中,前19个字符表示当前日期和时间。如果要获取指定格式的时间,可以使用`strftime()`函数。
today = datetime.date.today()
print("今天是:%s" % today.strftime("%Y年%m月%d日"))
以上代码会输出当前日期,格式为"2020年07月31日"。
二、定时任务
Python提供了`sched`模块,它可以让你创建一个调度程序,定时执行一个任务。其中,`sched`使用时间戳(从UTC1970年1月1日午夜开始的秒数)来表示时间。这里有一个简单的例子。
import time
import sched
def print_time():
print("现在的时间是:", time.time())
# 创建一个调度程序
scheduler = sched.scheduler(time.time, time.sleep)
# 延迟5秒执行print_time函数
scheduler.enter(5, 1, print_time, ())
scheduler.run()
以上代码使用「scheduler」实现定时任务,它会延迟5秒后执行`print_time()`函数,并输出当前时间。
三、计时器
计时器可用于衡量代码块或函数的运行时间。Python中的`time`模块提供了`time()`函数,可以测量一段代码实际运行的时间。
import time
start = time.time()
# 程序的核心代码
end = time.time()
print("程序运行时间:", end - start)
在以上示例中,我们使用`start`变量记录程序开始执行的时间戳。然后,运行程序中的部分代码,并记录结束时间。最后,输出程序运行的时间(单位为秒)。
四、定时程序
我们可以结合计时器和定时任务的概念,创建一个定时程序,让代码定期执行。我们通过以下Python程序来实现:
import sched
import time
def run():
"""要执行的代码"""
print("La La Lalala La La La~")
def timer(n):
"""定时功能,n为周期,单位为秒"""
while True:
scheduler.enter(0, 0, run, ())
scheduler.run()
time.sleep(n)
# 初始化scheduler
scheduler = sched.scheduler(time.time, time.sleep)
# 设定定时任务
timer(5)
以上代码可以让程序每5秒钟输出一次"Lalala~"字符串。
五、等待用户输入
有时候需要在某个时间点停止程序,并等待用户输入一个选择,再做出下一步操作。Python中的`input()`函数可以实现等待用户输入的功能。例如:
def wait_user():
user_input = ""
while not user_input.isdigit():
user_input = input("请问您需要什么帮助?"
"1.进入游戏,2.退出游戏\n")
if not user_input.isdigit():
print("请输出数字选择,1代表进入游戏,2代表退出游戏")
if user_input == "1":
start_game()
elif user_input == "2":
quit_game()
if __name__ == "__main__":
wait_user()
以上代码实现了等待用户输入数字选择的功能,如果用户选择进入游戏,则会执行`start_game()`函数,如果选择退出游戏,则会执行`quit_game()`函数。
六、结语
Python的时间模块很强大,能够实现各种各样的时间功能,上述演示的只是其中的几个例子,你可以根据具体需求选择合适的方法。这些功能不仅可用于控制程序的运行时间,也可以应用于时间戳、日期转换、时间段比较等等。使用好时间模块,能够为你编写高效的、精确的Python程序提供帮助。