2015-05-24 2 views
-2

Я работаю над созданием программы, которая будет читать txt-файл с полным двоичным кодом, затем превратить двоичный код в ASCII и распечатать результат. Мне нужно прочитать только части строк, так что скажите, что у меня были 00100001 и 00100110 в той же строке, как мне заставить мою программу читать только 0010000 и игнорировать 00100110?Как читать только одну часть строки в Python

+0

Это будет зависеть от того, как именно выложены линии - существуют ли какие-либо разделительные символы, например? Являются ли столбцы фиксированными? ** Что вы пробовали **, и в чем именно проблема? – jonrsharpe

+0

Нет персонажей разделения. Я попытался использовать 'f.readlines (char)' и 'f.readline (char)'. Оба возвратили ошибку. Проблема в том, что я не могу выделить, какой двоичный номер читать. Он читает оба двоичных числа, и он просто создает беспорядок 0 и 1. –

+0

Если это всегда, например. 8 бит, затем используйте срезы: 'line [: 8]', 'line [8:16]' и т. Д. – jonrsharpe

ответ

1

read() принимает необязательный аргумент, который является размером строки для чтения. Таким образом, вы можете использовать его следующим образом:

with open('numbers.txt') as f: 
    f.read(8) # read up to 8 chars from first line 
    f.readline() # skip to next line 

Конечно, не полный ответ (как определение проблемы и формат входного файла не уточнено), но это может быть хорошим местом для начала.

По-прежнему лично я читал файл по строкам и просто выполнял некоторую унифицированную операцию в каждой строке.

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