2015-04-28 3 views
0

Как пропустить заголовок с определенным количеством строк, а затем прочитать оставшуюся часть данных, которая является двоичной?Чтение двоичного файла с текстовым заголовком переменной длины

Мне просто нужно разобрать файл, некоторые из которых - текст, другой - двоичный. У меня есть доступ к числу строк в заголовке, а данные в двоичном виде являются переменными. Я не могу использовать FSEEK, чтобы пропустить заголовок, как я не знаю, что это размер, но я могу только прочитать число строк, чтобы пропустить его

+0

Что значит «остаток данных двоичный»? Двоичное число, или вам нужно прочитать данные в двоичном режиме, то есть получить байты? – L3viathan

+0

Получить байты. Извините, это было проще, чем я понял. Мне просто нужно было разобрать файл, некоторые из которых - текст, другой - двоичный. У меня есть доступ к числу строк в заголовке, а данные в двоичном виде являются переменными. Я не могу использовать fseek, чтобы пропустить заголовок, поскольку я не знаю его размер, но я могу просто прочитать количество строк, чтобы пропустить его. –

+0

Ваш последний комментарий должен был быть изменен на вопрос, потому что это важная информация, чтобы понять, чего вы хотите –

ответ

0
def readsomelines(fh,nlines): 
    for i in range(nlines): 
     yield fh.readline() 

with open("asd","rb") as my_file: 
    header = list(readsomelines(my_file,3)) 
    binary = my_file # myfile should be starting on 4th line now 

Im интересно, если вы на самом деле пытался что-нибудь, прежде чем прийти сюда и спрашивать?

+0

Спасибо! Я использовал f.seek() и переместил указатель вперед в байтах. Я не знал, что файл после того, как строки заголовка были отсканированы, просто включал двоичную информацию. –

Смежные вопросы