0

これは私がやっていることです

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

上記で、のように同じ最後の列を見てinput.txtからの値の量を確認し、その値に従ってその文字をカットすることを望みますnum.txtnum.txt

私のコードのエラーは、整数テキストファイルのみを受け入れることであり、アルファベットを含むファイルも受け入れる必要があると思います

4

2 に答える 2