所以说我有一些datetime.timedelta objects
存储在字典中,我打算将它们写入并输出.txt文件。我更喜欢这个输出文件易于阅读,以便从中获取信息而不会浪费太多时间。所以我绝对想要用接近这个的东西来格式化这些我假设:
a_time_obj.strftime("%H:%M:%S")
我还假设我将不得不迭代每个对象,我不太确定如何处理这些datetime.timedelta
对象。可以吗?如果是这样,那么实现这个目标的方法是什么?
当我写入.txt文件时,这是我目前得到的输出:
{'星期一':0,'星期二':0,'星期五':0,'星期三': datetime.timedelta(0,18,496000),'星期四':0,'星期日':0, '星期六':0}
编辑 - 代码:
for key, value in get_weekly_hours.iteritems():
formatted_value = value.strftime("%H:%M:%S")
return formatted_value
错误讯息: 对于key,get_weekly_hours.iteritems()中的值: formatted_value = value.strftime("%H:%M:%S") return formatted_value属性:错误' int'对象没有属性' strftime'
答案 0 :(得分:3)
注意:您的示例dict包含int值和datetime.timedelta值。这几乎肯定不是你的意思。使用datetime.timedelta()(00:00:00增量)而不是值0来初始化您的dict。
而不是{'星期一':0}你会存储{'星期一':timedelta.datetime()}
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))
答案 1 :(得分:0)
假设您有一个名为your_dict
的timedelta对象的词典。您可以使用此代码重复它
for key, value in your_dict.iteritems():
a_time_obj_str = value.strftime("%H:%M:%S")
//write your date string in your file