【发布时间】:2011-08-05 16:29:50
【问题描述】:
我试图弄清楚如何使用关键字作为拆分指示符来获取文件并分成子文件。就我而言,我有一个看起来像这样的大文件:
Racecarline2...line3...Racecarline5...line6...line7...line8...Racecarline10...
在每次出现Racecar 一词时,我想拆分文件并创建一个子文件。使用上面的示例,File_1 将有 3 行,File_2 将有 5 行,File_3 将有 2 行。这些文件看起来像这样:
文件_1:Racecarline2...line3...
文件_2:Racecarline5...line6...line7...line8...
文件_3:Racecarline10...
我意识到像 sed 或 awk 这样的东西会更适合这个,但我需要在 Python 中执行此操作。出于某种原因,我真的坚持这一点。我试着写这样的东西:
with open("bigfile", mode="r") as bigfile:
reader = bigfile.readlines()
for i,line in enumerate(reader):
if line.startswith("Racecar"):
header = line
header_num = i
我似乎被卡住了,因为我找不到下一次出现 Racecar 的方法。我一直想使用next() 函数,但显然这不适用于字符串。我使用的文件足够小,可以读入内存。谁能帮我这个?提前致谢。
【问题讨论】:
-
在 QNX 上你不需要 Python ;)。 QNX's split can split file when regexp/pattern is found.
标签: python python-3.x