🐍 Укус питона 🐍
Kanalga Telegram’da o‘tish
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython
Ko'proq ko'rsatish2 334
Obunachilar
Ma'lumot yo'q24 soatlar
-117 kun
-3730 kun
Postlar arxiv
2 334
Пример работы с файлами
Теперь напишем небольшой скрипт, в котором будет записывать введенный пользователем массив строк и считывать его обратно из файла на консоль:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
2 334
Перемещение по файлу
Для перемещения по файлу после его открытия применяется метод seek(). В него передается индекс байта, к которому надо переместить указатель в файле. Например, в примере выше после записи указатель в файле автоматически устанавливается на конец файла. И считывания данных идет с позиции, на которой стоит указатель. И чтобы его сдвинуть в самое начало, применяется вызов:
Аналогичным образом мы можем перемещаться по файлу на нужную позицию. Например, считаем данные, начиная с 5-го символа:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
2 334
Чтение и запись.
Для открытия файла сразу для чтения и записи применяются флаги:
• r+: если файл не найден, то генерируется исключение FileNotFoundError
• w+: если файл не существует, то он автоматически создается. Если файл существует, то он перезаписывается
Например, запишем и считаем из файла данные:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
2 334
Учитывая следующую функцию. fun1() Выберите все правильные вызовы функций.
2 334
Чтение файла. Продолжение.
Если файл небольшой, то его можно разом считать с помощью метода read():
И также применим метод readlines() для считывания всего файла в список строк:
При чтении файла мы можем столкнуться с тем, что его кодировка не совпадает с ASCII. В этом случае мы явным образом можем указать кодировку с помощью параметра encoding:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
2 334
Чтение файла. Продолжение.
Теперь явным образом вызовем метод readline() для чтения отдельных строк:
Консольный вывод, вторая часть примера:
Метод readline можно использовать для построчного считывания файла в цикле while, конец примера:
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
2 334
Чтение файла. Продолжение.
Несмотря на то, что мы явно не применяем метод readline() для чтения каждой строки, но в при переборе файла этот метод автоматически вызывается для получения каждой новой строки. Поэтому в цикле вручную нет смысла вызывать метод readline. Консольный вывод:
Однако поскольку функция print неявно добавляет к каждой строке перевод строки "\n", а строки в записанном файлетакже разделяются символом перевода строки "\n", то получается, что каждая строка оканчивается двойным "\n". и чтобы исключить излишнего переноса на другую строку в функцию print можно передать значение end="".
🐍 Укус питона // 💬 Чат // #теория #файлы #текст
