gpt4 book ai didi

python - 如何使用 Python 3 访问二进制和文本数据以进行电子邮件处理?

转载 作者:行者123 更新时间:2023-12-01 06:01:31 25 4
gpt4 key购买 nike

我正在将 Python 2 程序转换为 Python 3,但我不确定要采取的方法。

程序从 STDIN 读取一封电子邮件,或者指定包含电子邮件的文件。然后程序解析电子邮件并对它们进行一些处理。

所以我们需要处理电子邮件输入的原始数据,将其存储在磁盘上并对其进行 MD5 哈希。我们还需要处理电子邮件输入的文本,以便通过 Python 电子邮件解析器运行它并提取字段等。

对于 Python 3,我不清楚我们应该如何读取数据。我相信我们需要原始二进制数据才能对其进行 md5,并且能够将其写入磁盘。我知道我们还需要文本形式的它以便能够使用电子邮件库解析它。 Python 3 对 IO 处理和文本处理进行了重大更改,但我看不到读取电子邮件原始数据以及以文本形式使用相同数据的“正确”方法。

任何人都可以提供这方面的一般指导吗?

最佳答案

一般指导是尽快将所有内容转换为 unicode 并保持这种状态直到最后一刻。

请记住,str 是旧的 unicodebytes 是旧的 str

参见http://docs.python.org/dev/howto/unicode.html首先。

With Python 3 it is unclear to me how we should be reading in the data.

当您打开文件时指定编码,它会自动为您提供unicode。如果您从 stdin 读取,您将获得 unicode。您可以从 stdin.buffer 读取以获取二进制数据。

I believe we need the raw binary data in order to do an md5 on it

是的,你知道。当您需要对其进行哈希处理时对其进行编码

and also to be able to write it to disk.

当您打开要写入的文件时,您可以指定编码,文件对象会为您对其进行编码。

I understand we also need it in text form to be able to parse it with the email library.

是的,但是由于当您打开文件时它会被解码,所以这就是您所拥有的。

<小时/>

也就是说,这个问题对于 Stack Overflow 来说确实太开放了。当您有具体问题/疑问时,请回来,我们会提供帮助。

关于python - 如何使用 Python 3 访问二进制和文本数据以进行电子邮件处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10205132/

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