读到空行并另存为新文件 - 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]
首先,对 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]