Урок:

Робота з текстовими файлами (Python)

Вміст уроку:
1
2
3
4
5
6
7

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Опрацюйте теоретичний матеріал:

Робота з текстовими файлами в Python — це як ведення цифрового щоденника або записника. Програма може "читати" те, що написано у файлі, або "записувати" туди нову інформацію, щоб вона не зникла після вимкнення комп'ютера.

Ось основні етапи роботи, які можна пояснити на прикладі звичайного блокнота:

Уявіть, що ви хочете щось записати в зошит. Ви не можете писати, поки він закритий у рюкзаку. Алгоритм завжди однаковий:

  1. Відкрити файл (взяти блокнот у руки).

  2. Виконати дію (прочитати текст або записати новий).

  3. Закрити файл (покласти блокнот назад, щоб він не зіпсувався).

Функція open()

Для відкриття файлу використовують команду open(). У неї є два важливих параметри: ім'я файлу та режим роботи.

Режими роботи:

  • 'r' (read)Читання.

    Ви відкриваєте книгу, щоб почитати. Ви не можете в ній нічого змінити.

  • 'w' (write)Запис.

    Ви берете чистий аркуш (якщо у файлі вже щось було, воно видалиться, і ви почнете з чистого аркуша).

  • 'a' (append)Додавання.

    Ви дописуєте в кінець щоденника те, що сталося за день. Старі записи залишаються.

Методи читання

Уявіть, що ваш файл — це довгий сувій папірусу.

1. read() — "Прочитати все за раз"

Цей метод зчитує весь текст файлу як один величезний рядок.

  • Коли використовувати: Коли файл маленький і вам потрібен весь текст одразу.

  • Особливість: Можна вказати число в дужках, наприклад read(5), щоб зчитати лише перші 5 символів.

2. readline() — "По одному рядку"

Зчитує текст лише до першого знаку переносу рядка (\n). Якщо викликати метод вдруге, він зчитає другий рядок.

  • Коли використовувати: Коли ви шукаєте якусь конкретну інформацію на початку файлу або хочете обробляти дані покроково.

  • Приклад: Читання першого рядка:

    0901d270-4cb0-471x99.png

3. readlines() — "Список усіх рядків"

Створює список, де кожен рядок файлу стає окремим елементом.

  • Коли використовувати: Коли вам потрібно порахувати кількість рядків або швидко звернутися до конкретного рядка за індексом (наприклад, до третього рядка).

Запис у файл

Якщо ми хочемо створити файл tasks.txt і записати туди справу:

0901d1yw-e284-542x205.png

Читання з файлу

Тепер дізнаємося, що ми там записали:

0901d1zl-f758-550x187.png

Параметр encoding="utf-8" потрібен для того, щоб комп'ютер правильно розумів українські літери.

Модуль filedialog

Коли ми використовуємо open("file.txt"), програма шукає файл лише в одній конкретній папці. Але зазвичай користувачі хочуть самі обирати, де лежить файл. Для цього в Python є спеціальний інструмент — filedialog.

Це частина бібліотеки tkinter, яка викликає стандартне вікно Windows (або іншої ОС) для вибору файлу.

Щоб скористатися цим, потрібно виконати такі кроки:

  1. Імпорт: from tkinter import filedialog as fd — ми кажемо Python: "Візьми інструмент для вибору файлів і для зручності назви його коротким ім'ям fd".

  2. Виклик вікна: fd.askopenfilename() — ця команда зупиняє роботу програми та відкриває вікно провідника.

  3. Отримання шляху: Коли ви натискаєте "Відкрити" у вікні, функція повертає повну адресу файлу (наприклад, C:/Users/Student/Documents/test.txt) і записує її у змінну file_name.

  4. Використання: Тепер ми можемо відкрити файл за цією адресою: f = open(file_name).

Оператор with

Програмісти часто забувають закривати файли (команда close()).

Це як лишити холодильник відкритим — не критично, але неправильно.

Щоб Python сам закривав файл, використовують конструкцію with:

0901d20l-3805-617x87.png

Якщо ви запускаєте код і не бачите результату на екрані при записі — не лякайтеся! Перевірте папку, де лежить ваш файл із кодом Python (.py). Там з'явиться новий текстовий документ .txt, який створила ваша програма.

Приклад програми:

0901d2i0-c7f7-940x615.png

2

3 з 12 балів

Виконайте інтерактивну вправу.

Скрін виконаної вправи прикріпіть до цього завдання.

3

1 з 12 балів

Яка функція використовується в Python для відкриття файлу?

4

1 з 12 балів

Який режим ('mode') слід обрати, щоб додати новий текст у кінець файлу, не видаляючи старі дані?

5

2 з 12 балів

Програма відкрила файл у режимі 'w', записала туди дані та завершила роботу. Користувач помітив, що файл став значно коротшим, а старі записи зникли. Яку помилку допущено в логіці?

6

2 з 12 балів

Учень написав код для читання перших двох рядків файлу, двічі викликавши метод readline().

Що станеться, якщо у файлі був лише один рядок?

7

3 з 12 балів

Програма містить кнопку: btn = tk.Button(window, text="Open", command=open_file).

Чому в параметрі command назва функції open_file вказана без дужок?

Рефлексія від 6 учнів

Сподобався:

0

Так: 5

Ні: 1

Зрозумілий:

0

Так: 5

Ні: 1

Потрібні роз'яснення:

0

Ні: 6

Так: 0

Рекомендуємо

Елементи вибору: прапорці, перемикачі

Елементи вибору: прапорці, перемикачі

44

Аватар профіля Федотова Наталія Олександрівна
Інформатика
8 клас

25 грн

Робота з великими числами в Python

Робота з великими числами в Python

267

Аватар профіля Губчик Вероніка Григорівна
Інформатика
10—11 клас

33 грн

8 клас. Урок 38. Властивості та методи елементів керування. Текстовий напис (Python). Практична робота 10

8 клас. Урок 38. Властивості та методи елементів керування. Текстовий напис (Python). Практична робота 10

171

Аватар профіля Вітенко Іван
Інформатика
8 клас

48 грн

10-11 клас. Урок 25. Текстові рядки як масиви символів (Python)

10-11 клас. Урок 25. Текстові рядки як масиви символів (Python)

71

Аватар профіля Вітенко Іван
Інформатика
10—11 клас

48 грн

Практична робота 1. Виконання операцій над файлами та папками. ГР2, ГР3

Практична робота 1. Виконання операцій над файлами та папками. ГР2, ГР3

76

Аватар профіля Кутенський Василь Григорович
Інформатика
5 клас

50 грн

Практична робота "Створення багатосторінкового текстового документа"

Практична робота "Створення багатосторінкового текстового документа"

745

Аватар профіля Киреєва Оксана Анатоліївна
Інформатика
10 клас

50 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1274

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1087

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1334

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

488

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

640

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

267

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас