Я новичок в Python, поэтому, пожалуйста, несите меня.Ссылка на список имен с использованием Python
я не могу получить этот небольшой скрипт для правильной работы:
genome = open('refT.txt','r')
- файл данных ссылка генома с кучей (2 миллиона) из контигов:
Contig_01
TGCAGGTAAAAAACTGTCACCTGCTGGT
Contig_02
TGCAGGTCTTCCCACTTTATGATCCCTTA
Contig_03
TGCAGTGTGTCACTGGCCAAGCCCAGCGC
Contig_04
TGCAGTGAGCAGACCCCAAAGGGAACCAT
Contig_05
TGCAGTAAGGGTAAGATTTGCTTGACCTA
открыт файл:
cont_list = open('dataT.txt','r')
список контигов, что я хочу, чтобы извлечь из списка наборов данных ред выше:
Contig_01
Contig_02
Contig_03
Contig_05
Мой безнадежный сценарий:
for line in cont_list:
if genome.readline() not in line:
continue
else:
a=genome.readline()
s=line+a
data_out = open ('output.txt','a')
data_out.write("%s" % s)
data_out.close()
input('Press ENTER to exit')
Сценарий успешно пишет первые три контигов в выходной файл, но по какой-то причине он не кажется, способны пропускать «contig_04» , которого нет в списке, и перейдите к «Contig_05».
я мог бы показаться ленивым ублюдком для размещения, но я потратил весь день на этом крошечном кусочке кода -_-
проблема заключается в том, что ваш 'continue' заставляет вас пропустить строку в' cont_list'. вам нужно зацикливаться на геноме только до тех пор, пока вы не найдете 'line' – njzk2
. Помимо пропущенных строк, имена строк гарантированно появятся в том же порядке в файлах' cont_list' и 'genome'? – user2357112
вы можете решить это просто, заменив 'if' на' while' – njzk2