gpt4 book ai didi

python - 使用 strftime 格式化字典中的 datetime.timedelta 对象

转载 作者:行者123 更新时间:2023-11-30 23:20:57 25 4
gpt4 key购买 nike

假设我有一些 datetime.timedelta 对象 存储在字典中,我计划将它们写入并输出 .txt 文件。我更喜欢这个输出文件易于阅读,以便从中获取信息而不浪费太多时间。所以我肯定想用与我假设的接近的东西来格式化它们:

a_time_obj.strftime("%H:%M:%S")

我还假设我必须迭代每个对象,但我不太确定如何处理这些 datetime.timedelta 对象。能做到吗?如果是这样,完成此任务最Pythonic的方法是什么?

这是我当前写入 .txt 文件时得到的输出:

{'Monday': 0, 'Tuesday': 0, 'Friday': 0, 'Wednesday': datetime.timedelta(0, 18, 496000), 'Thursday': 0, 'Sunday': 0, 'Saturday': 0}

编辑 -- 代码:

for key, value in get_weekly_hours.iteritems():
formatted_value = value.strftime("%H:%M:%S")
return formatted_value

错误信息:对于 get_weekly_hours.iteritems() 中的键、值: formatted_value = value.strftime("%H:%M:%S") 返回 formatted_value 属性:错误“int”对象没有属性“strftime”

最佳答案

注意:您的示例字典包含 int 值和 datetime.timedelta 值。这几乎肯定不是您想要做的。使用 datetime.timedelta() (00:00:00 增量)而不是值 0 初始化您的字典。

您可以存储 {'Monday': timedelta.datetime()},而不是 {'Monday': 0}

d = {}
d['key1'] = datetime.timedelta(hours=1, minutes=1, seconds=1)
d['key2'] = datetime.timedelta(hours=2, minutes=2, seconds=2)
d['key3'] = datetime.timedelta(hours=3, minutes=3, seconds=3)

-- 打印值,依赖于 datetime.timedelta 的默认字符串表示形式 --

def serialize_dict(d):
for key,value in d.iteritems():
print '%s: %s' % (key,value)
serialize_dict(d)
#
# output:
# key3: 3:03:03
# key2: 2:02:02
# key1: 1:01:01

--或写入文件--

def serialize_dict(d):
with open('/tmp/output', 'w') as f:
for key, value in d.iteritems():
f.write('%s: %s\n' % (key, value))

关于python - 使用 strftime 格式化字典中的 datetime.timedelta 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com