【发布时间】:2015-02-19 17:30:29
【问题描述】:
我有一个数据文件,其中每个“行”由\n\n\n 分隔。我的解决方案是通过首先 slurping 文件,然后拆分行来隔离这些行:
for row in slurped_file.split('\n\n\n'):
...
是否有一种“awk-like”方法可以在 Python 2.7.9 中将文件解析为流,并根据给定的字符串值拆分行?谢谢。
【问题讨论】:
-
file.read(num_bytes)方法对您不起作用是否有特定原因?只是试图更好地理解需求。似乎基于将字节读取到缓冲区并产生拆分字符串的惰性生成器将是理想的选择。 -
有一个bug/feature request 用于将这样的东西添加到 Python 标准库中;另请参阅this question,但也有更简单的解决方法。
-
\n\n\n分隔大块数据(可以放入内存,但我事先不知道这些块的大小)。 -
我认为这真的意味着 2 个空行?
-
是的,用
od -c解析时连续三个换行符。
标签: python