2017-02-05 3 views
-1

Чтобы создать мини-проект для игры, я разрабатываю функцию, которая должна возвращать одну строку доски (в словах) на строку с символами новой строки, не включенными в доски, открывая и просматривая файл.Правильный способ чтения файла, который по одной строке в строке

Но вместо вызова файла я просто попробую этот питон прочитать его, избегая использования метода открытых файлов. Итак, во-первых, я попытался создать цикл для этой функции, но что-то не так, потому что при проверке этой функции появляется сообщение об ошибке.

«список» объект не имеет атрибута «раскол»

Не могли бы вы помочь мне с этой функцией. Мой текущий прогресс в этом, но я немного застрял в этом вопросе, потому что я не знаю, что может быть неправильным вообще.

def read_board(board_file): 
    """ 
    (file open for reading) -> list of list of str 
    """ 
    board_list_of_lists = [] 
    for line in board_file: 
     board_list_of_lists = board_list_of_lists.split('\n') 
    return board_list_of_lists 
+3

'board_list_of_lists' объявлен как список, и вы не можете разбить объект' list' (это то, что упоминается в ошибке) –

+0

Возможный дубликат: [Как читать большие файл, строка за строкой в ​​python] (http://stackoverflow.com/questions/8009882/how-to-read-large-file-line-by-line-in-python) –

+0

Как выглядят строки в файле board_file ? –

ответ

0

Попробуйте вместо этого:

def read_board(board_file): 
    """ (file open for reading) -> list of list of str 
    board_list_of_lists = [] 
    for line in board_file.split('\n'): 
      board_list_of_lists.append(line) 
    return board_list_of_lists 
0

Не нужно разделить если каждая строка в файле физически на его собственной строке в файле.

Вобще:

def read_board(board_file): 
    board_list_of_lists = [] 
    for line in board_file: 
     board_list_of_lists.append(line) 
    return board_list_of_lists 

Однако, что включает в себя «\ п» в конце каждой строки, так что просто изменить добавить строку в цикле тоже:

board_list_of_lists.append(line.strip('\n')) 

И что должен выводить список с каждой строкой файла как свой собственный индекс в списке, но он не будет разделен. Вся строка файла будет индексом в этом списке

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