python 查找两个字符串之间的内容

>>>
1 tn71cxp
5tn81etfc
9tn71piu
1tn71fana
tn71fanb
#
如何通过 “>>>” 和“ #”取出这两个之间的内容,文件中会有很多“>>>”和“#”,要很最相近的匹配,最好能保存到list中

第1个回答  推荐于2016-10-05
def getlist(filename):
myfile=open(filename)

s=''
start=False
mylist=[]
for line in myfile:
if line.strip()=='>>>':
start=True
elif line.strip()=='#':
mylist.append(s)
s=''
start=False
elif start:
s+=line
return mylist
未经测试,应该是这个意思追问

不是这样的,那两个字符串后面是还有值的,用strip()不适合吧
>>>:asfdasdf
t67yhn9iokm
#:asdfasdfasdf

追答import re
def getlist(filename):
    myfile=open(filename)
    contents=myfile.read()
    mylist= re.findall(r"(?<=>>>).*?(?=#)",contents,re.DOTALL)
    myfile.close()
    return mylist

本回答被提问者采纳
第2个回答  2013-08-20
1、将字符串按照“>>>”或“#”分割成小字符串。
2、再将其中的一个分割符替换成空字符。