[英]Read until empty line and save as new file - python
首先,对 python 来说是全新的,所以这个问题可能很简单。
我想读取一个文本文件并将其保存为一个新文件,将电子邮件中的 header 与正文分开。 header 结束的地方是“X-UID:81”下的空行(如图所示)。 并非所有电子邮件都有“X-UID:”所以空行是我想要分隔它的地方。 是否有捷径可寻?
我的代码目前如下所示:
with open("1.txt") as fReader:
corpus = fReader.read()
loc = corpus.find("X-UID")
print(corpus[:loc])
一种方法是将整个文件作为一个字符串读取,然后按X-UID: 81
拆分它(当然,前提是存在此 substring),如下所示:
parts = s.split('X-UID: 81')
header, body = parts[0], parts[1]
如果文件不包含X-UID: 81
,您可以使用maxsplit=1
通过双换行符 ( \n\n
) split()
以确保它不会在 email 正文中的换行符上进一步拆分:
parts = s.split('\n\n', maxsplit=1)
header, body = parts[0], parts[1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.