繁体   English   中英

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

[英]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]) 
  • 这种工作,但我不能在空行分开。 而且不知道如何另存为新文件

示例 email

一种方法是将整个文件作为一个字符串读取,然后按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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM