Как считать txt файл в python pandas

Обновлено: 08.07.2024

Вы стали счастливым обладателем больших текстовых файлов, в которых заключены важные данные? Это здорово! Однако, теперь перед Вами стоит задача извлечения данных из файла по частям, желательно, по строкам. Ведь чтение большого файла и одномоментная загрузка его содержимого в оперативную память чревата жалобами компьютера на усталость и «замутненное сознание», что с 2020 года является непозволительной роскошью для рабочих лошадок. Поэтому предлагаю рассмотреть варианты, с помощью которых можно реализовать построчное чтение файла в Python 3 по следующему сценарию:

  • Открыть файл
  • Считать первую строку
  • Вывести на экран первую строку
  • Считать вторую строку
  • Вывести на экран 2ю строку
  • и так далее..

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

Оптимальный вариант для построчного чтения файла в Python:

1. Подготавливаем файл:

В качестве примера я буду использовать файл с именем «text.txt», состоящий из 5 строк следующего вида:

2. Создадим переменную для хранения пути к файлу:

Замените выражение в коде «путь к файлу» на актуальный путь к вашему файлу. Если у вас возникли сложности с определением пути к файлу, ознакомьтесь с инструкцией «Как задать путь к файлу в Python» и возвращайтесь — будем кодить построчное считывание файла!

3. Представленный ниже код откроет файл и выведет его содержимое на экран:

На экран выведется все содержимое файла:

Чтобы дополнить вывод номерами строк, добавим в приведенный выше код переменную num_line для хранения номера строки и функцию enumerate(file) для получения номера строки:

Теперь вывод выглядит так:

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

Детальный разбор построчного чтения файла в Python:

1. Первым делом мы открываем файл:

Для открытия файла мы использовали функцию open(), которая может принимать несколько аргументов. Однако, наиболее важными аргументами являются первые два:

  • путь к файлу;
  • режим работы с файлом. Это не обязательный параметр, который по умолчанию принимает значение «r»(read), что позволяет открыть файл для чтения. Давайте взглянем, какие существуют режимы работы с файлами в Python:
    • r — (от английского слова read), режим позволяет открыть файл для чтения текста;
    • w — (от английского слова write) — позволяет открыть файл для записи текста. Если в файле уже присутствует какая-то информация, она будет стерта;
    • a — (от английского add) — используется для открытия файла в режиме «дозаписи», при котором к существующим в файле данным будет добавлена новая информация. При этом старые данные также остаются в файле;
    • rb — режим чтения двоичных данных;
    • wb — режим записи двоичных файлов.

    Для открытия файла мы воспользовались строкой вида:

    Мы не случайно использовали ключевое слово width в качестве обертки при открытии файла — этот маленький фокус гарантирует нам автоматическое закрытие файла по завершению работы с ним.

    Такой вариант и по сей день имеет место быть, часто используется и отлично работает. Однако первый вариант имеет «защиту от дурака», чем лично для меня повышает свою привлекательность.

    2. Считываем данные из открытого файла

    Для чтения содержимого файла мы использовали цикл for. Каждая новая строка считывается в переменную line, а затем выводится на экране до тех пор, пока не будет достигнут символ окончания файла EOF:

    Это довольно гибкий рабочий вариант. Однако, сложно обойти стороной «святую троицу» Питоновских методов, созданных для работы с файлами:

    1. Метод read(file)

    Метод read(file) — считывает все данные из файла file и возвращает их в виде одной текстовой строки. Этот вариант подходит для файлов небольшого размера:

    Программа выведет на экран:

    2. Метод readline()

    Метод readline() считывает одну строку. Для того, чтобы вывести содержимое всего файла, необходимо зациклить построчный вывод:

    Результат работы кода:

    3. Метод readlines()

    Метод readlines() возвращает содержимое файла в виде списка строк:

    Результат работы кода:

    Используя метод readlines() можно легко получить доступ к нужной строке, допустим к строке с индексом 3:

    Так как Python нумерует строки с 0, то 3-й индекс в моем файле принадлежит четвертой строке

    Таким образом, мы научились выполнять построчное чтение файла в Python несколькими различными способами. Вы можете использовать любой из рассмотренных вариантов, в зависимости от Ваших предпочтений и особенностей задачи. Интересных Вам файлов и красивых строк! 😉

    Когда я только начинал изучать Python, главным помощником в работе для меня, как наверное и для большинства программистов, был Stack Overflow. Я почерпнул оттуда много полезной информации, в том числе и о работе с файлами. Однако даже такая тривиальная задача, как оказалось, имеет несколько различных решений, отличающихся друг от друга простотой реализации и скоростью работы.

    Большинство предложенных методов предполагают чтение файла построчно с дальнейшим разбиением на блоки и их преобразованием из строкового типа в числовой, поскольку Python в отличии от C/C++ работает с файлами как с массивом строк. Выполнить последовательное чтение данных в массив без преобразования типов, как это можно сделать в C/C++, стандартными средствами языка невозможно (насколько мне известно), и это существенно увеличивает время работы программы при обработке больших объемов данных.

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

    • построчное считывание с разбиением и преобразованием типов
    • использование библиотек, которые средствами других языков (например, C/C++) считывают файл и передают полученные данные интерпретатору Python

    Самый популярный и простой вариант. Заключается в построчном чтении с разбиением полученной строки на блоки, которые затем преобразуются к необходимому типу данных (в данном случае float) и добавляются к заранее созданному списку.

    Способ аналогичен предыдущему, за исключением того, что преобразованием данных из строкового формата в числовой занимается функция map.

    Данный способ можно назвать стрельбой из пушки по воробьям, однако у него все же есть свои плюсы: если данные в файле расположены хаотично и отсутствует постоянная структура, то функции split невозможно задать конкретный разделитель и для решения задачи можно использовать регулярное выражение, которое найдет в строке все числа, несмотря на их расположение и наличие разделителей.

    Если данные записаны в виде матрицы с постоянными разделителями, то выполнить их чтение можно при помощи модуля CSV Reader, указав в качестве параметра значение разделителя.

    Библиотека Numpy предоставляет широкий набор модулей и функций для обработки числовых данных, в том числе и для чтения массивов из файлов. Одна из реализаций возможна с помощью функции loadtxt, результат работы которой будет записан в numpy.array.

    Данный способ не сильно отличается от предыдущего, за исключением того, что genfromtxt предоставляет более широкий набор входных параметров: указание различных типов данных для каждого из столбцов, передача ключей для создания ассоциативного массива и так далее.

    Для тестирования скорости чтения числовых данных были сгенерированы 7 тестовых файлов, содержащих 5 столбцов и 10, 100, 1 000, 10 000, 100 000, 1 000 000 и 10 000 000 строк случайных чисел формата float. Размер самого большого файла составил 742 Мб.

    Для измерения времени работы программы использовалась функция time. Существует мнение, что измерять с её помощью время работы некорректно. Однако в данном случае меня интересовало работа с большими объемами данных, когда время работы программы составляло несколько десятков секунд. В таком случае отклонение в полсекунды вносило погрешность менее 1%.

    Fortran

    Несмотря на то, что Fortran считается устаревшим языком, он все еще очень популярен в научном программировании благодаря простоте написания кода, скорости обмена данных и обширном количестве библиотек, созданных за последние полвека.

    Например, считать числовую матрицу из файла можно всего за 3 строчки кода при условии корректности входных данных.

    Дискуссии о том, что лучше: Fortran или C++ ведутся уже давно, даже среди авторов EasyCoding этот спор возникал несколько раз, поэтому мне было еще интересней протестировать чтение матриц на данном языке.

    В ходе эксперимента были протестированы 7 программ на языке Python и по одной на Fortran и C++, код которых представлен выше. Запуск программ осуществлялся на компьютере с Intel Core i5 2.7 GHz и 8 Гб оперативной памяти.

    Для запуска программ использовались следующие интерпретаторы и компиляторы:

    GNU Fortran (GCC) 6.1.0

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

    Число строк Способ
    1 2 3 4 5 6 7 Fortran C++
    10 0.048 0.048 0.045 0.044 0.173 0.216 0.479 0.005 0.005
    100 0.053 0.052 0.05 0.048 0.185 0.223 0.511 0.007 0.006
    1 000 0.056 0.053 0.053 0.052 0.187 0.233 0.6 0.01 0.01
    10 000 0.085 0.076 0.096 0.083 0.305 0.292 0.636 0.032 0.041
    100 000 0.414 0.403 0.561 0.482 1.537 0.874 0.796 0.244 0.363
    1 000 000 3.835 4.502 6.086 5.276 13.607 6.754 1.763 2.584 3.662
    10 000 000 47.931 156.944 137.398 144.75 162.724 85.642 13.632 25.652 36.622

    Однако при увеличении объема входных данных лучше всех себя показал метод 7 с использованием библиотеки Pandas, который даже обогнал по скорости чтения данных языки C++ и Fortran.

    Также из результатов теста можно видеть, что программа на Fortran справилась с чтением данных быстрей аналога на C++, что еще раз доказывает его превосходство над самым популярным языком программирования в мире.

    10 комментариев к записи

    ошибка в таблице ! 0.044 не меньше чем 0.005 а больше почти в 9 раз!

    Нет ошибки. Автор сравнивал скорости Python решений.

    С++, который обгонит всё перечисленное:

    Причем не особо кошерная реализация. Но соответствует предоставленному коду.
    Кошерная реализация это:

    Спасибо за приведенное полезное сравнение. Не хватает сравнения скорости записи (в рам для точности)

    Необходимо установить соответствующую библиотеку numpy либо из репозиториев, либо посредством pip.

    2 способ выдает:
    [/, /, /]
    при числах в файле:
    1 2 3
    4 5 6
    7 8 9
    Что не так?

    Проверьте версию интерпретатора Python. В 3.7 работает нормально.

    На С++ вы читали потоками, это медленно. Надо было попробовать функциями ввода вывода,fopen, fclose, fread должно быть быстрее. В С++ тоже несколько способов. Могло получиться сопоставимо с лучшим результатом.

    В Python есть несколько способов прочитать текстовый файл. В этой статье мы рассмотрим функцию open() , методы read() , readline() , readlines() , close() и ключевое слово with .

    Как открыть текстовый файл в Python с помощью open()

    Если вы хотите прочитать текстовый файл с помощью Python, вам сначала нужно его открыть.

    Вот так выглядит основной синтаксис функции open() :

    Имена файлов и правильные пути

    Если текстовый файл, который нужно открыть, и ваш текущий файл находятся в одной директории (папке), можно просто указать имя файла внутри функции open() . Например:

    На скрине видно, как выглядят файлы, находящиеся в одном каталоге:


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

    В этом примере файл со случайным текстом находится в папке, отличной от той, где находится файл с кодом main.py:


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

    Таким образом, чтобы указать путь к файлу правильно, важно отслеживать, в каком каталоге вы находитесь.

    Необязательный параметр режима в open()

    При работе с файлами существуют разные режимы. Режим по умолчанию – это режим чтения.

    Он обозначается буквой r .

    Вы также можете опустить mode= и просто написать «r» .

    Существуют и другие типы режимов, такие как «w» для записи или «a» для добавления. Мы не будем вдаваться в подробности о других режимах, потому что в этой статье сосредоточимся исключительно на чтении файлов.

    Полный список других режимов можно найти в документации.

    Дополнительные параметры для функции open() в Python

    Функция open() может также принимать следующие необязательные параметры:

    • buffering
    • encoding
    • errors
    • newline
    • closefd
    • opener

    Если вы хотите узнать больше об этих опциональных параметрах, можно заглянуть в документацию.

    Марк Лутц «Изучаем Python»

    Скачивайте книгу у нас в телеграм

    Метод readable(): проверка доступности файла для чтения

    Если вы хотите проверить, можно ли прочитать файл, используйте метод readable() . Он возвращает True или False .

    Следующий пример вернет True , потому что мы находимся в режиме чтения:

    Если бы мы изменили этот пример на режим «w» (для записи), тогда метод readable() вернул бы False :

    Что такое метод read() в Python?

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

    В этом примере давайте используем метод read() для вывода на экран списка имен из файла demo.txt:

    Запустим этот код и получим следующий вывод:

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

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

    Если аргумент размера опущен или число отрицательное, то будет прочитан весь файл.

    Что такое метод close() в Python?

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

    Вот пример того, как закрыть файл demo.txt:

    Как использовать ключевое слово with в Python

    Один из способов убедиться, что ваш файл закрыт, – использовать ключевое слово with . Это считается хорошей практикой, потому что файл закрывается не вручную, а автоматически. Более того, это просто крайне удобно и защищает вас от ошибок, которые могут возникнуть, если вы случайно забудете закрыть файл.

    Давайте попробуем переписать наш пример, используя ключевое слово with :

    Что такое метод readline() в Python?

    Этот метод читает одну строку из файла и возвращает ее.

    В следующем примере у нас есть текстовый файл с двумя предложениями:

    Если мы воспользуемся методом readline() , он выведет нам только первое предложение нашего файла.

    Этот метод также принимает необязательный параметр размера. Мы можем изменить наш пример, добавив число 7. В таком случае программа считает и выведет нам только фразу This is :

    Что такое метод readlines() в Python?

    Этот метод читает и возвращает список всех строк в файле.

    Предположим, у нас есть текстовый файл demo.txt со списком покупок:

    В следующем примере давайте выведем наши продукты в виде списка с помощью метода readlines() .

    Как прочитать текстовый файл при помощи цикла for

    В качестве альтернативы методам чтения можно использовать цикл for .

    Давайте распечатаем все элементы файла demo.txt, перебирая объект в цикле for .

    Запустим наш код и получим следующий результат:

    Заключение

    Итак, если вы хотите прочитать текстовый файл в Python, вам сначала нужно его открыть.

    Если текстовый файл и ваш текущий файл, где вы пишете код, находятся в одной директории, можно просто указать имя файла в функции open() .

    Если ваш текстовый файл находится в другом каталоге, вам необходимо указать правильный путь к нему.

    Функция open() принимает необязательный параметр режима. Режим по умолчанию – чтение ( «r» ).

    Чтобы проверить, можно ли прочитать текстовый файл, вы можете использовать метод readable() . Он возвращает True , если файл можно прочитать, или False в противном случае.

    Метод read() будет читать все содержимое файла как одну строку.

    Также, когда вы закончите читать файл, не забудьте закрыть его. Один из способов убедиться, что ваш файл закрыт, – использовать ключевое слово with . Оно закрывает файл автоматически и вам не нужно беспокоиться об этом.

    Метод readline() будет считывать только одну строку из файла и возвращать ее.

    Метод readlines() прочитает и вернет все строки в файле в виде списка.

    Также для чтения содержимого файлов можно использовать цикл for .

    Надеемся, вам понравилась эта статья. Желаем удачи в вашем путешествии по миру Python!

    Сегодня речь пойдет о пакете Pandas. Данный пакет делает Python мощным инструментом для анализа данных. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к табличным данным, а при наличии пакета matplotlib дает возможность рисовать графики на полученных наборах данных. Далее будут показаны основы работы с пакетом, такие как загрузка данных, обращение к полям, фильтрация и построение сводных.

    Основные структуры данных и их загрузка

    • SQL
    • Текстовые файлы
    • Excel файлы
    • HTML

    Базовые операции с наборами данных

    1. в набор с городами магазинов добавим поле `country` и заполним соответствующими странами
    2. выберем украинский магазин и поменяем его номер
    3. добавим магазин, полученный на предыдущем шаге, к общему списку
    4. добавим количество из df1 к набору df2
    5. построим сводную таблицу по странам и количеству отгрузок
    1. номер позиции, куда будет вставлен новый столбец
    2. имя нового столбца
    3. массив значений столбца (в нашем случае, это обычный список list)
    • через точку — НаборДанных.ИмяПоля
    • в квадратных скобках – НаборДанных[‘ИмяПоля’]

    Результатом выполнения данного кода, будет новый промежуточный набор данных t, содержащий одну запись:

    shop country name
    345 Украина Киев

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

    Агрегация данных

    Теперь к нашему основному списку магазинов df2, можно подтянуть количество из набора данных df1. Сделать это можно с помощью функции merge(), которая соединяет два набора данных (аналог join в SQL):

    • набор данных (который будет присоединен к исходному)
    • тип соединения
    • поле, по которому происходит соединение
    • список столбцов, по которым будет считаться агрегированные значение
    • список столбцов, которые будут строками итоговой таблицы
    • функция, которая используется для агрегации
    • параметр для замены пустых значений на 0

    Итоговая таблица будет выглядеть так:

    country qty
    Беларусь 4
    РФ 6
    Украина 0

    Заключение


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

    Иногда недостаточно просто отображать данные на консоли. Данные могут быть очень большими, и только ограниченный объем данных может отображаться на консоли, поскольку память является энергозависимой, невозможно восстановить сгенерированные программой данные снова и снова.

    Реализация обработки файлов немного длиннее и сложнее в других языках программирования, но в Python она проще и короче.

    В Python файлы обрабатываются в двух режимах как текстовые или двоичные. Файл может быть в текстовом или двоичном формате, и каждая строка файла заканчивается специальным символом. Следовательно, файловая операция может выполняться в следующем порядке:

    Открытие файла

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

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

    Режим доступа Описание
    1 r Он открывает файл в режиме только для чтения. Указатель файла существует в начале. Файл по умолчанию открывается в этом режиме, если не передан режим доступа.
    2 rb Открывает файл в двоичном формате только для чтения. Указатель файла существует в начале файла.
    3 г + Открывает для чтения и записи. Указатель файла также существует в начале.
    4 rb + в двоичном формате. Указатель файла присутствует в начале файла.
    5 w Только для записи. Он перезаписывает файл, если он существовал ранее, или создает новый, если файл с таким именем не существует. Указатель имеется в начале файла.
    6 wb Открывает файл для записи только в двоичном формате. Перезаписывает файл, если он существует ранее, или создает новый, если файл не существует. Указатель файла существует в начале файла.
    7 w + Для записи и чтения обоих. Он отличается от r + в том смысле, что он перезаписывает предыдущий файл, если он существует, тогда как r + не перезаписывает ранее записанный файл. Он создает новый файл, если файл не существует. Указатель файла существует в начале файла.
    8 wb + Он открывает файл для записи и чтения в двоичном формате. Указатель файла существует в начале файла.
    9 а В режиме добавления. Указатель файла существует в конце ранее записанного файла, если он существует. Он создает новый файл, если не существует файла с таким же именем.
    10 ab В режиме добавления в двоичном формате. Указатель существует в конце ранее записанного файла. Он создает новый файл в двоичном формате, если не существует файла с таким же именем.
    11 а + Он открывает файл для добавления и чтения. Указатель файла остается в конце файла, если файл существует. Он создает новый файл, если не существует файла с таким же именем.
    12 ab + Открывает файл для добавления и чтения в двоичном формате. Указатель файла остается в конце файла.

    Давайте посмотрим на простой пример, чтобы открыть файл с именем «file.txt»(хранящийся в том же каталоге) в режиме чтения и распечатать его содержимое на консоли.

    В приведенном выше коде мы передали filename в качестве первого аргумента и открыли файл в режиме чтения, поскольку мы упомянули r в качестве второго аргумента. Fileptr содержит объект файла, и если файл открывается успешно, он выполнит оператор печати.

    Метод close()

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

    Мы можем выполнить любую операцию с файлом извне, используя файловую систему, которая в данный момент открыта в Python; поэтому рекомендуется закрыть файл после выполнения всех операций.

    Синтаксис использования метода close() приведен ниже.

    Рассмотрим следующий пример.

    После закрытия файла мы не можем выполнять какие-либо операции с файлом. Файл необходимо правильно закрыть. Если при выполнении некоторых операций с файлом возникает какое-либо исключение, программа завершается, не закрывая файл.

    Мы должны использовать следующий метод, чтобы решить такую проблему.

    Оператор with

    Оператор with был введен в Python 2.5. Он полезен в случае манипулирования файлами. Используется в сценарии, когда пара операторов должна выполняться с блоком кода между ними.

    Синтаксис для открытия файла с помощью оператора приведен ниже.

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

    Всегда рекомендуется использовать оператор with для файлов. Если во вложенном блоке кода возникает прерывание, возврат или исключение, тогда он автоматически закрывает файл, и нам не нужно писать функцию close() . Это не позволяет файлу исказиться.

    Рассмотрим следующий пример.

    Запись файла

    Чтобы записать текст в файл, нам нужно открыть файл с помощью метода open с одним из следующих режимов доступа.

    • w: он перезапишет файл, если какой-либо файл существует. Указатель файла находится в начале файла.
    • a: добавит существующий файл. Указатель файла находится в конце файла. Он создает новый файл, если файл не существует.

    Скриншот файла file2.txt

    Снимок файла к примеру 1

    Мы открыли файл в режиме w. Файл file1.txt не существует, он создал новый файл, и мы записали его содержимое с помощью функции write().

    Снимок файла file2.txt

    Снимок файла к примеру 2

    Мы видим, что содержимое файла изменено. Мы открыли файл в режиме и добавили содержимое в существующий файл file2.txt.

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

    Синтаксис метода read() приведен ниже.

    Рассмотрим следующий пример.

    В приведенном выше коде мы прочитали содержимое file2.txt с помощью функции read(). Мы передали значение счетчика как десять, что означает, что он будет читать первые десять символов из файла.

    Если мы используем следующую строку, она распечатает все содержимое файла.

    Чтение файл для цикла

    Мы можем прочитать файл, используя цикл for. Рассмотрим следующий пример.

    Чтение файла построчно

    Python упрощает чтение файла построчно с помощью метода readline(). Метод readline() читает строки файла с самого начала, т. е. если мы используем его два раза, мы можем получить первые две строки файла.

    Рассмотрим следующий пример, который содержит функцию readline(), которая читает первую строку нашего файла «file2.txt», содержащую три строки.

    Пример 1: чтение строк с помощью функции readline()

    Мы вызывали функцию readline() два раза, поэтому она считывает две строки из файла.

    Python также предоставляет метод readlines(), который используется для чтения строк. Возвращает список строк до конца файла(EOF).

    Пример 2: чтение строк с помощью функции readlines()

    Создание нового файла

    Новый файл можно создать, используя один из следующих режимов доступа с функцией open().

    • x: создает новый файл с указанным именем. Вызовет ошибку, если существует файл с таким же именем.
    • a: создает новый файл с указанным именем, если такого файла не существует. Он добавляет содержимое к файлу, если файл с указанным именем уже существует.
    • w: создает новый файл с указанным именем, если такого файла не существует. Он перезаписывает существующий файл.

    Позиции указателя файла

    Python предоставляет метод tell(), который используется для печати номера байта, в котором в настоящее время существует указатель файла. Рассмотрим следующий пример.

    Изменение позиции указателя файла

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

    Для этой цели Python предоставляет нам метод seek(), который позволяет нам изменять положение указателя файла извне.

    Синтаксис для использования метода seek():

    Метод seek() принимает два параметра:

    Рассмотрим следующий пример.

    Модуль OS Python

    Переименование файла

    Модуль Python os обеспечивает взаимодействие с операционной системой. Модуль os предоставляет функции, которые участвуют в операциях обработки файлов, таких как переименование, удаление и т. д. Он предоставляет нам метод rename() для переименования указанного файла в новое имя. Синтаксис для использования метода rename() приведен ниже.

    Приведенный выше код переименовал текущий file2.txt в file3.txt.

    Удаление файла

    Модуль os предоставляет метод remove(), который используется для удаления указанного файла. Синтаксис метода remove() приведен ниже.

    Создание нового каталога

    Метод mkdir() используется для создания каталогов в текущем рабочем каталоге. Синтаксис для создания нового каталога приведен ниже.

    Метод getcwd()

    Этот метод возвращает текущий рабочий каталог.

    Синтаксис для использования метода getcwd() приведен ниже.

    Изменение текущего рабочего каталога

    Метод chdir() используется для изменения текущего рабочего каталога на указанный каталог.

    Синтаксис для использования метода chdir():

    Удаление каталога

    Метод rmdir() используется для удаления указанного каталога.

    Синтаксис использования метода rmdir() приведен ниже.

    Он удалит указанный каталог.

    Запись вывода Python в файлы

    В Python есть требования для записи вывода скрипта Python в файл.

    Метод check_call() подпроцесса модуля используется для выполнения сценария Python и записи вывода этого сценария в файл.

    Следующий пример содержит два сценария Python. Сценарий file1.py выполняет сценарий file.py и записывает свои выходные данные в текстовый файл output.txt.

    Методы, связанные с файлом

    Существуют следующие методы для управления файлами в различных операционных системах.

    Читайте также: