Как прочитать весь файл построчно, символ за символом? - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь прочитать однозначные целые числа, разделенные одним пробелом, из текстового файла.Код ниже читает 1 строку из файла символ за символом.Я хочу перебирать весь файл строка за строкой, символ за символом.Как этот код можно изменить, чтобы сделать это?

string = ''
with open('map.txt', 'r') as f:
    for line in f:
        string = f.readline()
        row = string.split()
        for character in row:
            if character == '0':
                print('zero')
            elif character == '1':
                print('one')

1 Ответ

0 голосов
/ 27 ноября 2018

Вам не нужно использовать string = f.readline(), потому что вы уже используете for line in f:, а переменная line уже содержит строку из вашего файла.Другая ошибка - row = string.split().Делая это, вы получаете массив строк, разделенных пробелами 'abc bbb ccc' -> ['abc', 'bbb', 'ccc'], а не символами.Попробуйте сделать это:

with open('map.txt') as f:
    for line in f:
        # in every step of for-loop line contains new line from your file
        for char in line:
           # now we start iterating over our line and char now contains chars line(including whitespaces)
           if char == '0':
               print('zero')
           if char == '1':
               print('one')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...