这就是我正在做的
import csv
output = open('output.txt' , 'wb')
# this functions return the min for num.txt
def get_min(num):
return int(open('%s.txt' % num, 'r+').readlines()[0])
# temporary variables
last_line = ''
input_list = []
#iterate over input.txt in sort the input in a list of tuples
for i, line in enumerate(open('input.txt', 'r+').readlines()):
if i%2 == 0:
last_line = line
else:
input_list.append((last_line, line))
filtered = [(header, data[:get_min(header[-2])] + '\n' ) for (header, data) in input_list]
[output.write(''.join(data)) for data in filtered]
output.close()
在这段代码input.txt
中是这样的
>012|013|0|3|M
AFDSFASDFASDFA
>005|5|67|0|6
ACCTCTGACC
>029|032|4|5|S
GGCAGGGAGCAGGCCTGTA
num.txt
是这样的
M 4
P 10
我希望在上面通过查看与 in 相同的最后一列来input.txt
检查来自 的值的数量,并根据该值剪切其字符num.txt
num.txt
我认为我的代码中的错误是它只接受整数文本文件,它也应该接受包含字母的文件