我正在使用win32com解析硬盘驱动器上的Outlooks msg文件。除发送日期外,其他一切正常。我在wxPython列表框中有电子邮件列表,当您单击电子邮件时,我想在文本框中填充日期。当我尝试将msg.SentOn从时间类型转换为字符串类型时,出现TypeError。我相信它正在寻找时间戳,而且我不确定如何从Pytime到达那里。
def onListBox(self, event):
attachList = []
self.attachList.Clear()
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
self.email = event.GetEventObject().GetStringSelection()
if self.toFrom == 0:
fileName = "C:\Users\onp1ldy\Desktop\EMAILS\emails_Sent\\" + self.email
else:
fileName = "C:\Users\onp1ldy\Desktop\EMAILS\emails\\" + self.email
msg = outlook.OpenSharedItem(fileName)
#print msg.SenderName
#print msg.SenderEmailAddress
print type(msg.SentOn)
print msg.SentOn
newDate = time.strftime('%m/%d/%Y %H:%M:%S', msg.SentOn)
print newDate
输出:
<type 'time'>
Traceback (most recent call last):
File line 181, in onListBox
12/04/17 20:43:49
newDate = time.strftime('%m/%d/%Y %H:%M:%S', msg.SentOn)
TypeError: argument must be 9-item sequence, not time
有人可以帮助进行此转换吗?
答案 0 :(得分:0)
经过一番搜索,我发现了Pytime。这表明pytime转换为与时间模块兼容的int。
time.strftime("%#c", time.localtime(int(timeObject)))