我對Markdown不是很瞭解,但我會給它一個機會。
減價文件僅僅是一個txt文件,這樣你就可以加載它像這樣:
file = open('markdownfile.md','r')
data = file.read()
file.close()
看起來好像是要拆分爲"\n#"
共同的因素,但也沒有跟隨,但另一"#"
或者只是不"\n##"
所以一個方法可以讓我看到這樣做是爲了通過"\n#"
將文件分割然後修復小節:
splitData = data.split("\n#")
for i in xrange(len(splitData)-1,-1,-1):#going backwards
if splitData[i][0] == '#':#subsection
splitData[i-1] += '\n#'+splitData.pop(i)#being sure to add back what we remove from the .split
else:#section
splitData[i] = '#'+splitData[i]#adding back the wanted part removed with the .split
或者你可以遍歷字符和做手工拆分
contents = []
for i in xrange(len(data)-1-3,-1,-1):
if data[i:i+2] == '\n#' and data[i:i+3] != '\n##'
contents.append(data[i+1:])#append the section
data = data[:i]#remove from data
contents.reverse()
我希望這有助於。
編輯:你不能只拆分data
通過"\n# "
(與末尾的空間),因爲(通過我的研究)的空間並不一定在那裏,它被公認爲一節頭。 (例如#Section 1
仍然有效)
提示:'itertools.groupby(your_text.splitlines(),lambda行:line.startswith('#'))'或'itertools.groupby(your_text.splitlines(),運算符。 methodcaller('startswith','#'))' – GingerPlusPlus