Інформація про новину
  • Переглядів: 914
  • Дата: 15-10-2021, 10:34
15-10-2021, 10:34

10.4. Використання текстових файлів для введення та виведення даних

Категорія: Інформатика





Попередня сторінка:  10.3. Структуровані вбудовані типи дани...
Наступна сторінка:   11.1. Висловлювання. Логічні змінні, опе...

Порядок використання файлів такий: файл необхідно відкрити, прочитати дані з файлу або записати дані у файл, закрити файл.

Під час виконання програмного коду ви вводили дані за допомогою клавіатури і виводили на екран монітора. Чому, на вашу думку, інколи виникає потреба використовувати ще й текстові файли?

Мова Python підтримує введення-виведення даних у текстові файли і двійкові файли (графічні, аудіо- й відеофайли).

Файли відкриваються за допомогою функції ореп().

Загальна структура функції ореп():

Параметр mode може мати такі значення:

Відкриття файлу для читання (діє за замовчуванням)

Відкриття файлу для запису

Відкриття файлу для дозапису (дані додаються у кінець файлу)

Відкриття файлу у двійковому режимі

Відкриття файлу у текстовому режимі (діє за замовчуванням)

Відкриття файлу для читання й запису

Режими відкриття можуть об’єднуватися: rb — читання у двійковому режимі, rt — читання у текстовому режимі. За замовчуванням діє режим rt.

Параметр вид кодування вказує назву коду, у якому здійснюється робота. Для цього зазначається: encoding = 'код', наприклад encoding = 'UFT-8'.

Для роботи з файлами у мові Python існують основні методи close() — закриває файл та write() — записує дані у файл. Аргументом методу write() є символьний рядок, який записується у файл (приклад 2).

Приклад 2. f.write('MOHiTop'\n) ї.\л/гйе('операційна система»)

У результаті виконання цих команд будуть записані два символьні рядки.

Приклад 3. У файл file_5.txt записати рядок "keys, diet, union" і зберегти його на робочому

столі. Динаміку процесу відкриття файлу та запису в нього рядка зображено на рис. 10.9.

Звернемо увагу на те, що після запису у файл рядка автоматично видається кількість символів у рядку. Знайдемо на робочому столі файл file_5 і відкриємо його.

Вміст файлу показано на рис. 10.10.

Існує також низка інших методів.

• Метод writelinesQ — отримує послідовність символьних рядків, наприклад списку, кортежу та інших, і записує усі елементи послідовності у файл (приклад 4).

Приклад 4. Дано список: 'max', 'import', 'remove'. Послідовність дій запису списку у файл file.txt на робочому столі зображено на рис. 10.11.

Створений файл наведено на рис. 10.12. Звернемо увагу на те, що хоча у списку містяться три рядки, у файлі вони подані одним рядком.

Метод read() — зчитує всі дані з текстового файлу і повертає їх як один символьний рядок (приклад 5).

Приклад 5. Створимо текстовий файл file_1. txt такого вмісту:

і збережімо його на робочому столі. Динаміку процесу відкриття й читання цього файлу зображено на рис. 10.13.

• Метод readline() під час кожного виклику зчитує з файлу черговий рядок і повертає його як символьний рядок.

Окремі рядки тексту у файлі мають розділятися символом '\п'( він увійде до результату, що повертає readline() (приклад 6).

• Метод readlines() зчитує дані з файлу, розділяє їх на окремі символьні рядки й повертає список із цих рядків (символ '\п' присутній у кожному символьному рядку).

Приклад 6. Створимо, наприклад, текстовий файл file_3.txt, зображений на рис. 10.14, і збережемо його на робочому столі.

Динаміку процесу читання файлу показано на рис. 10.15.

Рис. 10.15. Динаміка процесу читання файлу file_3.txt

Запитання для перевірки знань

На які типи поділяються файли для запису і читання даних?

За допомогою якої функції відкривається файл?

Які існують режими читання й запису даних у файл?

За допомогою яких методів можна читати дані з файлу?

За допомогою яких методів можна записувати дані у файл?

Наведіть приклад відкриття файлу для запису й читання.

Завдання для самостійного виконання

Створіть текстовий файл fllel, який містить цифри 0, 2, 4, ..., 14, і збережіть його на робочому столі. Прочитайте цей файл за допомогою методу read().

Запишіть у текстовий файл file2 за допомогою методу write() речення: «Побутує думка, що для українців сало є своєрідним символом національної культури». Збережіть його на робочому столі.

Дано послідовність рядків 'біт', 'файл', 'байт'. Використайте метод writelines() для їх запису у файл file3.txt. Файл збережіть.

Створіть текстовий файл file4.txt «П'ять українських об'єктів внесені до переліку Світової спадщини ЮНЕСКО» і збережіть його у будь-якій папці. Прочитайте файл за допомогою методу readline().

Створіть текстовий файл file5.txt і запишіть речення: «Через територію України проходить чотири з десяти європейських транспортних коридорів», збережіть його у будь-якій папці. Прочитайте файл за допомогою методу readlines().

Практична робота № 19

ТЕМА. Розроблення лінійних алгоритмів та їх реалізація у вигляді програм

ЗАВДАННЯ: розробити лінійні алгоритми та програми їх реалізації, виконати налагодження програм.

ОБЛАДНАННЯ: комп'ютер з операційною системою Windows 7 і вище, з мовою Python і середовищем IDLE.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Розробіть блок-схему алгоритму обчислення у:

Розробіть код обчислення значення виразу за умови, що значення змінних а, Ь, с вводяться з клавіатури.

Уведіть код в комп’ютер, знайдіть і усуньте помилки введення. Збережіть файл коду.

Виконайте код для значень змінних: а = 4.2; b = 3.5; с = 2. Усуньте синтаксичні помилки в коді, якщо вони є. Виконайте код і доведіть, що він функціонує правильно. Виконайте код для різних значень змінних а, Ь, с.

Розробіть блок-схему алгоритму обчислення площ рівно-стороннього трикутника зі стороною а, площі вписаного у трикутник кола і їх різниці.

Розробіть код реалізації алгоритму, уведіть у комп’ютер і збережіть файл коду.

Виконайте налагодження коду.

Виконайте код для різних значень сторони трикутника і переконайтеся, що результати є правильними.

Із Києва у Харків виїхав автобус і рухався без зупинок із середньою швидкістю 45 км/год. Одночасно із Харкова у Київ виїхав мотоцикліст і рухався без зупинок із середньою швидкістю 55 км/год. Через 4 год 50 хв вони зустрілися.

Розробіть блок-схему алгоритму визначення відстані між Києвом і Харковом.

Розробіть код реалізації алгоритму. Уведіть і збережіть код у файлі. Виконайте код.

зк, чому необхідно здійснювати виконання коду для різних значень вхідних даних.

Практична робота № 20

ТЕМА. Розробка лінійних алгоритмів та їх реалізація у вигляді програм з використанням текстових файлів ЗАВДАННЯ: розробити лінійні алгоритми та програми їх реалізації, виконати налагодження програм.

ОБЛАДНАННЯ: комп'ютер з операційною системою Windows 7 і вище, з мовою Python і середовищем IDLE.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Розробіть у словесно-формульній формі алгоритм обчислення значення у:

Значення змінних а, Ь, с уводяться з клавіатури. Створіть код реалізації алгоритму. Уведіть код, виконайте його налагодження.

Запишіть отриманий результат у файл file_10 власної папки.

Створіть текстовий файл, що містить речення: «В Україні 68 % населення міське, 32 % — сільське. Середня густота населення — 81 житель на квадратний кілометр».

Збережіть набраний текст у файлі fiІе_11 власної папки.

Відкрийте і прочитайте файл file_11 за допомогою методів ореп() і read().

Уведіть текст прислів’я: «Людина змінюється у житті, а насправді життя змінює людину». Збережіть прислів’я у текстовому файлі file_12 власної папки.

Прочитайте створений файл за допомогою методу readlines(). Переконайтеся, що файл прочитано правильно. Закрийте файл.

Розробіть блок-схему алгоритму обчислення значення у:

Значення а, Ь, с уведіть з клавіатури.

Створіть код реалізації алгоритму.

Уведіть код і виконайте його налагодження.

Запишіть результат у файлі fiІе_13 власної папки. Переконайтеся, що дані у файлі збережено правильно. Зробіть висновок про доцільність використання текствих файлів для запису й читання з них даних.

 

 

Це матеріал з підручника Інформатика 8 клас Руденко (2021)

 




Попередня сторінка:  10.3. Структуровані вбудовані типи дани...
Наступна сторінка:   11.1. Висловлювання. Логічні змінні, опе...



^