当前位置:  开发笔记 > 编程语言 > 正文

如何按时间顺序重新排序mbox文件?

如何解决《如何按时间顺序重新排序mbox文件?》经验,为你挑选了1个好方法。

我有一个使用evolution创建的单个假脱机mbox文件,其中包含一系列我希望打印的电子邮件.我的问题是电子邮件没有按时间顺序放入mbox文件中.我想知道使用bash,perl或python从头到尾订购文件的最佳方法.我希望收到发给我的文件,并发送给我发送的文件.是否可能更容易使用maildir文件等?

电子邮件目前以以下格式存在:

From x@blah.com Fri Aug 12 09:34:09 2005
Message-ID: <42FBEE81.9090701@blah.com>
Date: Fri, 12 Aug 2005 09:34:09 +0900
From: me 
User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: someone 
Subject: Re: (no subject)
References: 
In-Reply-To: 
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Status: RO
X-Status: 
X-Keywords:                 
X-UID: 371
X-Evolution-Source: imap://x+blah.com@blah.com/
X-Evolution: 00000002-0010

Hey

the actual content of the email

someone wrote:

> lines of quotedtext

我想知道是否有办法使用这些信息轻松地重新组织文件,可能使用perl等.



1> 小智..:

这是你如何在python中做到这一点:

#!/usr/bin/python2.5
from email.utils import parsedate
import mailbox

def extract_date(email):
    date = email.get('Date')
    return parsedate(date)

the_mailbox = mailbox.mbox('/path/to/mbox')
sorted_mails = sorted(the_mailbox, key=extract_date)
the_mailbox.update(enumerate(sorted_mails))
the_mailbox.flush()

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有