我当前的项目是用 Python 制作一个时钟。使用datetime模块,我可以获得我需要的信息。但是,我希望能够格式化时间的打印方式。我的计划是首先将日期时间模块的输出分成单独的部分,如下所示。
import datetime
time = datetime.datetime.now()
time.day()
使用这种方法,我可以选择我想要的时间部分,并以任何顺序排列它们。然而,我发现的问题是,因为 time
的输出是创建变量的时间,所以我需要一种方法来不断刷新 time
或它的特定部分,例如 time.day() ,并且仍然能够访问它。我的下一个尝试是使用线程在后台运行刷新。
import threading
import datetime
import time
def clock():
while True:
return datetime.datetime.now()
time.sleep(.1)
time = threading.Thread(target = clock())
time.start()
但是,这里出现的问题是我无法访问 time
包含的不同位。显然,time.day()
在这里不起作用,clock.day()
也不起作用,因为它们都没有这个选项。
TL;DR
我需要一种方法来创建不断更新的变量,以便我可以使用和安排 time = datetime.datetime.now()
的不同位,同时保持最新。
子问题
变量 = threading.Thread(target=[obj])
[obj]
have 是否是一个函数,或者是否有某种方法可以让代码循环在线程中运行而不将其作为函数运行,以便变量线程中运行是全局的?
最佳答案
在你的情况下,time
变量是一个线程,(应该像time = threading.Thread(target =clock)
一样初始化,如果你需要当前时间可以在 while
循环中使用 datetime.datetime.now()
并在一次迭代时间内完成所有时钟操作
关于python - 如何创建一个不断更新的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60352759/