Чтение из файла в список
Необходимо точно такой же список открыть в python , чтобы работать с ним, например проходить его циклом, и так далее. Этот метод превращает все в строку.
with open('pairs.txt', 'r') as text: mylist = text.read()
Этот метод делает из содержимого файла новый список, поглотив старый, с одним элементом внутри вместо 5. Как избавиться от общего списка?
with open('pairs.txt', 'r') as text: mylist = text.readlines()
Как прочитать файл построчно в Python
Существует много способов чтение из файла построчно в Python. Вы можете считать строки в список или обращаться к каждой из строк в цикле при помощи итератора или вызова функции объекта file.
В этом руководстве мы научимся считывать файл построчно, используя функции readline() , readlines() и объект файла на примерах различных программ.
Пример 1: Чтение файла построчно функцией readline()
В этом примере мы будем использовать функцию readline() для файлового объекта, получая каждую строку в цикле.
Как использовать функцию file.readline()
Следуйте пунктам приведенным ниже для того, чтобы считать файл построчно, используя функцию readline() .
- Открываем файл в режиме чтения. При этом возвращается дескриптор файла.
- Создаём бесконечный цикл while.
- В каждой итерации считываем строку файла при помощи readline() .
- Если строка не пустая, то выводим её и переходим к следующей. Вы можете проверить это, используя конструкцию if not . В противном случае файл больше не имеет строк и мы останавливаем цикл с помощью break .
# получим объект файла file1 = open("sample.txt", "r") while True: # считываем строку line = file1.readline() # прерываем цикл, если строка пустая if not line: break # выводим строку print(line.strip()) # закрываем файл file1.closeПривет! Добро пожаловать на PythonRu. Удачи в обучении!Пример 2: Чтение строк как список функцией readlines()
Функция readlines() возвращает все строки файла в виде списка. Мы можем пройтись по списку и получить доступ к каждой строке.
В следующей программе мы должны открыть текстовый файл и получить список всех его строк, используя функцию readlines() . После этого мы используем цикл for, чтобы обойти данный список.
# получим объект файла file1 = open("sample.txt", "r") # считываем все строки lines = file1.readlines() # итерация по строкам for line in lines: print(line.strip()) # закрываем файл file1.closeПривет! Добро пожаловать на PythonRu. Удачи в обучении!Пример 3: Считываем файл построчно из объекта File
В нашем первом примере, мы считываем каждую строку файла при помощи бесконечного цикла while и функции readline() . Но Вы можете использовать цикл for для файлового объекта, чтобы в каждой итерации цикла получать строку, пока не будет достигнут конец файла.
Ниже приводится программа, демонстрирующая применение оператора for-in, для того, чтобы перебрать строки файла.
Для демонстрации откроем файл с помощью with open. Это применимо и к предыдущим двум примерам.
Как прочитать текстовый файл в список в Python (с примерами)
Вы можете использовать один из следующих двух методов для чтения текстового файла в список в Python:
Способ 1: Используйте open()
#define text file to open my_file = open('my_data.txt', 'r') #read text file into list data = my_file.read()Способ 2: использовать loadtxt()
from numpy import loadtxt #read text file into NumPy array data = loadtxt('my_data.txt')В следующих примерах показано, как использовать каждый метод на практике.
Пример 1: Чтение текстового файла в список с помощью open()
В следующем коде показано, как использовать функцию open() для чтения текстового файла с именем my_data.txt в список в Python:
#define text file to open my_file = open('my_data.txt', 'r') #read text file into list data = my_file.read() #display content of text file print(data) 4 6 6 8 9 12 16 17 19Пример 2: Чтение текстового файла в список с помощью loadtxt()
В следующем коде показано, как использовать функцию NumPy loadtxt() для чтения текстового файла с именем my_data.txt в массив NumPy:
from numpy import loadtxt #import text file into NumPy array data = loadtxt('my_data.txt') #display content of text file print(data) [ 4. 6. 6. 8. 9. 12. 16. 17. 19.] #display data type of NumPy array print(data. dtype ) float64Хорошая вещь в использовании loadtxt() заключается в том, что мы можем указать тип данных при импорте текстового файла с помощью аргумента dtype .
Например, мы можем указать текстовый файл для импорта в массив NumPy как целое число:
from numpy import loadtxt #import text file into NumPy array as integer data = loadtxt('my_data.txt', dtype='int') #display content of text file print(data) [ 4 6 6 8 9 12 16 17 19] #display data type of NumPy array print(data. dtype ) int64Примечание.Полную документацию по функции loadtxt() можно найти здесь .
Дополнительные ресурсы
Следующие руководства объясняют, как читать другие файлы в Python:
Файлы. Работа с файлами.

В данной статье мы рассмотрим встроенные средства python для работы с файлами: открытие / закрытие, чтение и запись.
Итак, начнем. Прежде, чем работать с файлом, его надо открыть. С этим замечательно справится встроенная функция open:
У функции open много параметров, они указаны в статье "Встроенные функции", нам пока важны 3 аргумента: первый, это имя файла. Путь к файлу может быть относительным или абсолютным. Второй аргумент, это режим, в котором мы будем открывать файл.
Режим Обозначение 'r' открытие на чтение (является значением по умолчанию). 'w' открытие на запись, содержимое файла удаляется, если файла не существует, создается новый. 'x' открытие на запись, если файла не существует, иначе исключение. 'a' открытие на дозапись, информация добавляется в конец файла. 'b' открытие в двоичном режиме. 't' открытие в текстовом режиме (является значением по умолчанию). '+' открытие на чтение и запись Режимы могут быть объединены, то есть, к примеру, 'rb' - чтение в двоичном режиме. По умолчанию режим равен 'rt'.
И последний аргумент, encoding, нужен только в текстовом режиме чтения файла. Этот аргумент задает кодировку.
Чтение из файла
Открыли мы файл, а теперь мы хотим прочитать из него информацию. Для этого есть несколько способов, но большого интереса заслуживают лишь два из них.
Первый - метод read, читающий весь файл целиком, если был вызван без аргументов, и n символов, если был вызван с аргументом (целым числом n).
Ещё один способ сделать это - прочитать файл построчно, воспользовавшись циклом for:
Запись в файл
Теперь рассмотрим запись в файл. Попробуем записать в файл вот такой вот список:
Откроем файл на запись:
Запись в файл осуществляется с помощью метода write:
После окончания работы с файлом его обязательно нужно закрыть с помощью метода close:
Теперь попробуем воссоздать этот список из получившегося файла. Откроем файл на чтение (надеюсь, вы поняли, как это сделать?), и прочитаем строки.
Мы получили тот же список, что и был. В более сложных случаях (словарях, вложенных кортежей и т. д.) алгоритм записи придумать сложнее. Но это и не нужно. В python уже давно придумали средства, такие как pickle или json, позволяющие сохранять в файле сложные структуры.Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте