我创建了一个 python 脚本,它从 Word 文档中的 OLE 流中提取数据,但是在将 OLE2 格式的时间戳转换为更易于阅读的东西时遇到了麻烦:(
被拉出的时间戳是 12760233021 但我不能终生将其转换为 2007 年 3 月 12 日或类似的日期。
任何帮助是极大的赞赏。
编辑:好的,我已经在我的一个 word 文档上运行了脚本,该文档是在31/10/2009, 10:05:00创建的。OLE DocumentSummaryInformation 流中的创建日期是12901417500。
另一个示例是在 2009 年 10 月 27 日 15:33:00 创建的 word doc,在 OLE DocumentSummaryInformation 流中给出了 12901091580 的创建日期。
有关这些 OLE 流属性的 MSDN 文档是http://msdn.microsoft.com/en-us/library/aa380376%28VS.85%29.aspx
将这些流拉出的 def 如下所示:
import OleFileIO_PL as ole
def enumerateStreams(item):
# item is an arbitrary file
if ole.isOleFile('%s' % item):
loader = ole.OleFileIO('%s' % item)
# enumerate all the OLE streams in the office file
streams = loader.listdir()
streamProps = []
for stream in streams:
if stream[0] == '\x05SummaryInformation':
# get all the properties fro the SummaryInformation OLE stream
streamProps.append(loader.getproperties(stream))
elif stream[0] == '\x05DocumentSummaryInformation':
# get all the properties from the DocumentSummaryInformation stream
streamProps.append(loader.getproperties(stream))
return streamProps