读到空行并另存为新文件 - python

Read until empty line and save as new file - python

首先,对 python 完全陌生,所以这个问题可能很简单。

我想读取一个文本文件并将其另存为新文件,将电子邮件中的 header 与 body 分开。 header 结束的地方是“X-UID: 81”下的空行(如图所示)。并不是所有的电子邮件都有“X-UID:”,所以空行是我想把它分开的地方。有没有简单的方法可以做到这一点?

我的代码目前是这样的:

with open("1.txt") as fReader:
 corpus = fReader.read()

loc = corpus.find("X-UID")
print(corpus[:loc]) 

Example email

一种方法是将整个文件作为一个字符串读取,然后用 X-UID: 81 拆分(当然前提是该子字符串存在),如下所示:

parts = s.split('X-UID: 81')
header, body = parts[0], parts[1]

如果文件不包含 X-UID: 81,您可以 split() 通过双换行符 (\n\n) 和 maxsplit=1 来确保它不会拆分进一步了解电子邮件正文中的换行符:

parts = s.split('\n\n', maxsplit=1)
header, body = parts[0], parts[1]