作者liangjr (aaa)
看板Python
标题Re: [问题] 读入字串之後搜索并列印该行
时间Mon Mar 21 15:43:56 2011
※ 引述《Bedouine (ji )》之铭言:
: ※ 引述《Arton0306 (Ar藤)》之铭言:
: : 基因库抓出来的 ">"应该是固定当做一笔资料一个
: : 不知你为什麽要用raw_input
: : 要用这个就用alist.index找 或是if ">" in astring
: 我也是初学者
: 我之前写过类似的东西
: 我觉得一定有更好的方法
: 我把input 存在 list 里面用
: alist = file("input.txt", "r").readlines()
: start_number = alist.index('>')
: 然後下一行就是 seq = alist[start_number+1]
: 抛砖引玉一下
: 请高手提供更聪明的方法
: : 只是>应该都在第一位吧 而且一笔资料就只有一个>
: : 我以前遇到的是这样
: : 我是直接读档 f.read().split(">")
: : 这样就把每一笔基因资料拆开了
可以用regular expression:
import re
example_input = """>gi|123456|gb|NC_111.3|Homo sapiens silly sequence
AGGTGGCCAAAACTCGTCTT
>asdfsadfsadfsadf
AGGGGGGGG"""
matches = re.finditer("^>(.*)$\n^(.*)$", example_input, re.MULTILINE)
for match in matches:
print match.group(1), match.group(2)
执行结果:
gi|123456|gb|NC_111.3|Homo sapiens silly sequence AGGTGGCCAAAACTCGTCTT
asdfsadfsadfsadf AGGGGGGGG
--
http://blog.nigelliang.com
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 50.46.147.226
※ 编辑: liangjr 来自: 50.46.147.226 (03/21 15:45)