【发布时间】:2021-05-24 01:43:42
【问题描述】:
我目前正在尝试使用 python 中的 discord bot 计算我的 discord 的活跃成员的时间。我将成员名称和 timedelta 写入文件。 我的问题是如何从文件中读取这个 timedelta?我知道 datetime.datetime 有 strptime 方法,但 datetime.timedelta 没有。 除了切片并将其作为参数传递给 timedelta 构造函数之外还有什么想法吗?
for a in self.members:
if not a.bot:
self.member_timers[a.name] = {}
self.member_timers[a.name]['Time'] = None
self.member_timers[a.name]['Stop'] = None
self.member_timers[a.name]['Start'] = None
self.read()
def read(self):
lines = []
with open(f'logi', 'r') as f:
lines = f.readlines()
f.close()
print(lines)
line = lines[0].split()
def write(self):
with open(f'logi', 'w') as f:
for mem in self.members:
if not mem.bot and self.member_timers[mem.name]['Time'] != None:
f.write("{} {}\n".format(mem.name, self.member_timers[mem.name]['Time']))
def start_timer(self, member):
if self.member_timers[member.name]['Start'] == None:
self.member_timers[member.name]['Start'] = datetime.datetime.now()
else:
#policz mu czas zeby nie stracic
self.count_time(member.name)
self.member_timers[member.name]['Start'] = datetime.datetime.now()
pass
def stop_timer(self, member):
if self.member_timers[member.name]['Start'] != None:
self.member_timers[member.name]['Stop'] = datetime.datetime.now()
self.count_time(member.name)
def count_time(self, name):
if self.member_timers[name]['Start'] != None and self.member_timers[name]['Stop'] != None:
if self.member_timers[name]['Time'] == None:
self.member_timers[name]['Time'] = self.member_timers[name]['Stop'] - self.member_timers[name]['Start']
else:
self.member_timers[name]['Time'] += self.member_timers[name]['Stop'] - self.member_timers[name]['Start']
self.member_timers[name]['Start'] = None
self.member_timers[name]['Stop'] = None
因此,当从文件读取时,我想为成员创建 timedelta 对象,以便以后比较它是否大于我分配的任何角色 timedelta。
【问题讨论】:
-
欢迎来到 Stack Overflow。发布问题时的几件事。 1. 向我们展示您的代码。 2. 共享样本数据。 3. 分享预期产出。 4.检查是否已经问过类似的问题。如果是这样,您已经在其他线程中有答案。我建议先做#4。
-
对于您的问题,您需要先阅读数据。它将读取为字符串。然后使用strptime转换为日期时间
-
也看看这个帖子...stackoverflow.com/questions/39250152/…
-
使用 strptime 可以获得 datetime 对象,我需要 timedelta。
-
分享样本数据,以便我回答。看起来你想根据时间点做一个时间增量。一旦我有更多信息,可以提供建议
标签: python discord.py