在特定重复字符后按位置查找文件中的多个序列

时间:2016-06-29 09:10:05

标签: python

我正在尝试编写此代码,这样我可以在按行位置换行后在文件中获取不同样本的序列,由于某种原因输出总是空白的,你能帮助我吗?

import readline
count = 0
brk = 0
with open("file.txt") as f:
    while (count < 35):
        l = f.readline()[brk + 2]
        sp = raw_input ("Starting Position:")
        sp = int(sp)
        rl = sp + 6
        print(l[sp:rl])
        print(l[-30:0])
        count = count + 1
        brk = brk + 2

    print ("Done")

1 个答案:

答案 0 :(得分:0)

在行l中,程序将一个字符放入变量l。因此,当您尝试打印print(l[sp:rl])的子串(在行print(l[-30:0])print l中)时,程序将打印空行。这是预期的结果。

要找到这个,您只需在分配l后立即添加brk = 0 with open("file.txt") as f: f.readline() f.readline() #skip both first lines while (count < 35): l = f.readline() f.readline() #skip next line sp = raw_input ("Starting Position:") sp = int(sp) rl = sp + 6 print(l[sp:rl]) print(l[-30:0]) count = count + 1 brk = brk + 2

您似乎正在尝试读取文件的第2行,第4行,第6行等。要做到这一点,你可以这样做:

print(l[-30:0])

此外print(l[-30:])必须始终打印空行。您似乎需要l(字符串$max = -9999999; //will hold max val $found_item = null; //will hold item with max val; foreach($arr as $k=>$v) { if($v['Total']>$max) { $max = $v['Total']; $found_item = $v; } } echo "max value is $max"; print_r($found_item); 的最后30个字符)。