为什么我的Python程序中显示的时间无法自动更新?
问题解答
核心原因
时间获取代码定义在while循环之外,程序启动时仅会执行一次datetime.now()计算得到固定的时间字符串,后续循环只是重复打印这个已经生成的静态值,不会触发时间更新。
修复代码
将时间获取逻辑移入循环内部即可,可提前将时区实例化放在循环外减少重复创建开销:
import time import pytz from datetime import datetime # 时区实例仅需创建一次 madrid_timezone = pytz.timezone('Europe/Madrid') while True: # 每次循环重新获取当前时间 current_time = datetime.now(madrid_timezone).strftime("%H:%M:%S") print(current_time) time.sleep(5)
内容的提问来源于stack exchange,提问作者CodeMa
相关产品推荐
相关产品推荐

