我有一个文本文件,其中包含教科书中的解决方案,我试图将每个解决方案拆分为自己的文本文件,在搜索完SO后,我似乎无法找到解决方案&# 39;优雅。
每个解决方案都以问题编号开头,例如*1-3;
或*4-2;
。
我可以在文件中读取并将每行存储在一个列表中,但是我实际上处理列表时遇到了麻烦,无法按标题进行拆分。
这是一个直接来自.txt的一些解决方案的pastebin:http://pastebin.com/ntSXLn72
谢谢!
答案 0 :(得分:2)
使用re.split:
import re
with open('text.txt') as f:
text = f.read()
solutions = re.split('\*[0-9]\-[0-9];',text)
该正则表达式将查找*<any number>-<any number>;
,并将全文分割为匹配的任何内容。您可能需要对空成员进行一些清理。
答案 1 :(得分:0)
#!/usr/bin/python
import re
file_name = "" # put the txt file you're working on
new_header = None
for line in open(file_name,"r").readlines():
if re.search("^[*][0-9]+[-][0-9]+[;]", line):
if new_header:
new_header.close()
new_header = open("%s_section:%s" % (file_name, line), "w")
if new_header:
new_header.write(line)
if new_header:
new_header.close