Робота з текстовими файлами
Нова українська школа
Урок 43
Інформатика 8
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Робота з текстовими файлами
Якщо для розв’язування задачі під час виконання програми потрібно вводити багато даних або результати роботи програми треба зберегти для подальшого використання, введення/виведення даних зручно здійснювати з використанням текстових файлів.
Файл може бути джерелом інформації (під час введення) і приймачем інформації (під час виведення даних).
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Робота з текстовими файлами
Розгляньмо засоби Python для обміну даними між програмою і зовнішнім запам’ятовуючим пристроєм (диском). Програма може обробляти наявний файл або створювати новий. У будь-якому випадку робота з файлом складається з трьох етапів
Відкриття файлу
Читання з файлу або запис у файл
Закриття файлу
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття файлу
Для відкриття файлу призначена вбудована функція open():
f = open(<шлях до файлу>, <режим відкриття>)
Якщо шлях до файлу складається лише з назви файлу, Python шукатиме цей файл у папці, в якій збережено вашу програму.
змінна для збереження файлового об’єкта, який використовується для читання і/або запису у ваш файл
f
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття файлу
Параметр Режим відкриття визначає, які дії можна буде виконувати з файлом. Основні режими відкриття такі:
відкриття тільки для читання;
'r'
відкриття для записування: знищує вміст файлу, якщо він існує; створює новий файл для запису, якщо не існує
'w'
відкриття для дозаписування; інформація додається в кінець файлу; якщо файлу не існує, його буде створено
'а'
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Читання з файлу
Читання даних із файлу означає отримання доступу до них. Метод:
<файлова змінна>.read([n])
Зчитує дані з файлу, а саме:
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Читання з файлу
У файлі text.txt міститься рядок:
f = open("text.txt", "r")
print(f.read(1)) # Зчитати 1 символ із файлу
print(f.read()) # Зчитати всі інші символи
f.close()
Привітання від Python!
У консоль виводиться вміст файлу.
Результат
П
ривітання від Python!
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Читання з файлу
Метод <файлова змінна>.readline() зчитує із файлу один рядок.
Після зчитування елемента (символу або рядка) з файлу поточним (доступним) стає наступний елемент
Якщо файл містить декілька рядків тексту, можна прочитати файл порядково, скористувавшись циклом for:
f = open("numbers.txt", "r")
for line in f:
print(line, end = ‘’) # Якщо не вказати атрибут end = ",
f.close() # виводяться зайві порожні рядки
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Запис у файл
Щоб записати рядок s у файл, для файлового об’єкта можна викликати метод write():
<файлова змінна>.write(s)
Для того щоб зміни у файлі збереглися, потрібно обов’язково закрити файл, викликавши для файлового об’єкта метод close. Закриття файлу вивільняє ресурси, які були використані для роботи з ним.
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Запис у файл
Запишемо у файл два рядки,
f = open("f1 .txt", "w")
f.write("111111"+ '\n')
f.write("222222")
f.close()
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Запис у файл
Файл f1.txt містить декілька чисел, розташованих по одному в рядку. Слід зчитати з файлу всі числа, знайти їх суму і дописати значення суми в кінець файлу.
f = open("f1.txt", "r")
suma = 0
for line in f:
suma = suma + int(line)
f.close()
f = open("f1.txt", "a")
s = 'сума = '+str(suma)
f.write(s)
f.close()
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття й збереження файлів
Модуль filedialog у Python є частиною бібліотеки tkinter і надає функції для роботи з діалоговими вікнами, пов’язаними з вибором файлів або каталогів. Це зручно для створення графічних інтерфейсів, де потрібно дозволити користувачам вибирати файли для обробки або збереження.
Для завантаження модуля слід записати команду:
from tkinter import filedialog as fd
це псевдонім, яким ми, щоб скоротити код, замінятимемо назву модуля filedialog у разі виклику методів.
fd
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття й збереження файлів
Розглянемо функції модуля filedialog.
Вони обидві повертають назву файлу, який має бути відкрито або збережено, але самі його не відкривають і не зберігають. Робити це має програміст у подальших командах.
надає діалогове вікно для відкриття файлу
fd.askopenfilename()
надає діалогове вікно для збереження файлу
fd.asksaveasfilename()
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття й збереження файлів
Створимо графічне вікно з кнопками для відкриття й збереження файлу.
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Відкриття й збереження файлів
Опція filetypes дозволяє перелічити типи файлів, які зберігатимуться або відкриватимуться, та їх розширення.
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Питання для самоперевірки
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Розгадайте ребус
Файл
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Домашнє завдання
Проаналізувати
с. 205-209
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Працюємо за комп’ютером
Сторінка
208-209
Розділ 5
§ 32
© Вивчаємо інформатику teach-inf.com.ua
Успіхів�у навчанні!
Нова українська школа
Урок 43
Інформатика 8
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.