источник: http://www.bioinformatics.org/bradstuff/bp/tut/Tutorial006.html
Дескрипторы довольно часто упоминаются в этой документации и также довольно запутанны (по крайней мере, для меня!). По сути, вы можете думать об дескрипторе как о «обертке» текстовой информации.
Дескрипторы обеспечивают (по крайней мере) два преимущества по сравнению с простой текстовой информацией:
- Они обеспечивают стандартный способ работы с информацией, хранящейся различными способами. Текстовая информация может быть в файле, или в строке, хранящейся в памяти, или на каком-то удаленном веб-сайте, но дескриптор обеспечивает общий способ работы с информацией во всех этих форматах.
- Они позволяют читать текстовую информацию постепенно, а не всю сразу. Это действительно важно, когда вы имеете дело с огромными текстовыми файлами, которые заняли бы всю вашу память, если бы вам пришлось загружать их все.
Дескрипторы могут иметь дело с текстовой информацией, которая считывается (т. е. считывается из файла) или записывается (т. е. записывается в файл). В случае дескриптора «чтения» обычно используются функции read()
, которая считывает всю текстовую информацию из дескриптора, и readline()
, которая считывает информацию по одной строке за раз. Для дескрипторов ``записи'' регулярно используется функция write()
.
Чаще всего дескрипторы используются для чтения информации из файла, что делается с помощью встроенной функции Python open
:
>>> handle = open("m_cold.fasta", "r") >>> handle.readline() ">gi|8332116|gb|BE037100.1|BE037100 MP14H09 MP Mesembryanthemum crystallinum cDNA 5' similar to cold acclimation protein, mRNA sequence\n"