我正在尝试为discord bot设置一个日志文件。我使用Python作为机器人,我遇到的问题与时间模块有关。
我的代码:
import time
currentTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
在不和谐中发布命令后,它会运行:
print(str(currentTime) + " - Emoji's requested!")
在第一次运行时,所有内容都会以正确的日期和时间打印到控制台。但是,下次打印的日期和时间与以前相同,即使下一篇文章是两天后也是如此。
答案 0 :(得分:1)
您只调用一次time.localtime()。 每次想要拥有当前时间时都需要调用它。如果你不再打电话,它只会使用旧时间。
所以请致电
currentTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
每次尝试打印时间之前。
你可以制作一个简单的方法,让它每次都缩短:
def get_time() -> str:
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
然后打印如下消息:print(get_time() + " - Emoji's requested!")
答案 1 :(得分:1)
我的意思是......你存储了来自time.localtime()
的号码的价值。在您调用该方法时,该值为静态。您可以使用函数替换它,如下所示:
def currentTime():
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
然后将您的打印行更改为:
print(str(currentTime()) + " - Emoji's requested!")