python怎么转到下一行_Python转到下一行并保存/编辑内容
這個(gè)代碼是在以前的帖子中建立的。我正在努力調(diào)整它以適應(yīng)我們的數(shù)據(jù)。但這不管用。。以下是我們的文件示例:read:1424:2165 TGACCA/1:2165 TGACCA/2
1..100 +chr1:3033296..3033395 #just this line
1..100 -chr1:3127494..3127395
1..100 +chr1:3740372..3740471
1 concordant read:1483:2172 TGACCA/1:2172 TGACCA/2
1..100 -chr7:94887644..94887545 #and just this line
該代碼應(yīng)執(zhí)行以下操作:搜索每一行
識(shí)別字符串“read:”
轉(zhuǎn)到下一行并提取+chr:編號(hào)..編號(hào)'
就一次!然后搜索下一個(gè)“read:”等。。。在
所以,如果我在“讀”之后多次出現(xiàn)“-chr:no..no”,那么只需要第一個(gè)。在
不幸的是,我不知道該怎么做。。。在
^{pr2}$
輸出應(yīng)該如下所示:1 3033293 3033395
7 94887644 94887545
有人扔給我一根骨頭
根據(jù)以下答案更新
好吧,我上傳了一個(gè)我用過(guò)的Tim McNamara的稍作修改的版本。它工作得很好,但是輸出不能識(shí)別“chr”后面有兩個(gè)數(shù)字的數(shù)字,并在最后一個(gè)數(shù)字之后打印一個(gè)字符串with open(infile, mode='r') as in_f, open(outfile, mode='w') as out_f:
lines = [line for line in in_f.readlines()]
for i, line in enumerate(lines):
if 'read' in line:
data = lines[i+1].replace(':', '..').split('..')
try:
out_f.write('{} {} {}\n'.format(data[1][-1], data[2], data[3])) #Here I tried to remove data[3] to avoid to have "start" in the output file.. didn't work ..
except IndexError:
continue
以下是使用此代碼獲得的輸出:6 140302505 140302604 start # 'start' is a string in our data after this number
5 46605561 46605462 start # I don't understand why it grabs it thou...
5 46605423 46605522 start # I tried to modify the code to avoid this, but ... didn't work out
6 29908310 29908409 start
6 29908462 29908363 start
4 12712132 12712231 start
我怎樣才能修正這兩個(gè)錯(cuò)誤?在
總結(jié)
以上是生活随笔為你收集整理的python怎么转到下一行_Python转到下一行并保存/编辑内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jsp springmvc 视图解析器_
- 下一篇: c++直角坐标系与极坐标系的转换_平面向