0

我有一个包含教科书解决方案的文本文件,我试图将每个解决方案拆分为自己的文本文件,在搜索 SO 之后,我似乎找不到一个优雅的解决方案。

每个解决方案都以问题编号开头,例如*1-3;*4-2;

我可以读入文件并将每一行存储在一个列表中,但是我在实际处理列表以按标题拆分时遇到了麻烦。

这是一个 pastebin,其中包含一些直接来自 .txt 的解决方案:http: //pastebin.com/ntSXLn72

谢谢!

4

2 回答 2

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>;,并通过匹配的任何内容拆分全文。您可能需要对空成员进行一些清理。

于 2013-11-06T19:37:17.407 回答
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 
于 2013-11-06T19:47:51.507 回答