Professional Documents
Culture Documents
РОБОТА З ФАЙЛАМИ - L07 - text
РОБОТА З ФАЙЛАМИ - L07 - text
РОБОТА З ФАЙЛАМИ
>>>
==== RESTART: C:\Python\file_examples\7_1_file_reader.py =====
First line of text
Second line of text
Third line of text
>>>
Запустимо програму:
>>>
=== RESTART: C:\Python\file_examples\7_1_1_file_reader.py ===
Error opening file
>>>
try:
with open('1example_text.txt', 'r') as file:
contents = file.read()
print(contents)
except:
print("Error opening file")
Виконаємо програму:
>>>
== RESTART: C:\Python\file_examples\7_1_2_file_reader.py ==
Error opening file
>>>
Яким чином Python визначає, де шукати файл для відкриття? У момент виклику
функції open Python шукає вказаний файл в поточному робочому каталозі. У момент
запуску програми поточний робочий каталог там, де збережена програма.
Визначити поточний робочий каталог можна наступним чином:
>>> import os
>>> os.getcwd()
'C:\\Python\\file_examples'
>>>
Результат виконання:
>>>
=== RESTART: C:\Python\file_examples\7_1_3_file_reader.py ===
First line of text
Second line of text
Third line of text
>>>
>>>
=== RESTART: C:\Python\file_examples\7_1_4_file_reader.py ===
10: First line
інше: of text
Second line of text
Third line of text
>>>
>>>
==== RESTART: C:\Python\file_examples\7_1_5_file_reader.py ====
['First line of text\n', 'Second line of text\n', 'Third line
of text']
>>>
print(months)
>>>
=== RESTART: C:\Python\file_examples\7_1_6_file_reader.py ====
['January\n', 'February\n', 'March\n', 'April\n', 'May\n',
'June\n', 'July\n', 'August\n', 'September\n', 'October\n',
'November\n', 'December']
December
November
October
September
August
July
June
May
April
March
February
January
>>>
Використовуйте наступний спосіб читання з файлу, якщо хочете зробити деякі операції
з кожним з рядків, починаючи з поточної позиції файлового курсора до кінця файлу:
Результат виконання:
>>>
==== RESTART: C:\Python\file_examples\7_1_7_file_reader.py ====
January
7
February
8
March
5
April
5
May
3
June
4
July
4
August
6
September
9
October
7
November
8
December
8
>>>
Для додавання рядка в файл необхідно відкрити файл в режимі «a» (скор. від append):
import urllib.request
url = "https://ivstem.kpi.ua/wp-
content/uploads/python/ivteb.txt"
with urllib.request.urlopen(url) as webpage:
for line in webpage:
line = line.strip()
line = line.decode('utf-8') # перетворимо тип bytes в
utf-8
print(line)
Python підтримує потужну мову регулярних виразів, тобто шаблони, за якими можна
шукати/замінювати деякий текст.
Наприклад, регулярний вираз '[ea]' означає будь-який символ з набору в дужках,
тобто регулярний вираз 'r[ea]d' збігається з 'red' і 'radar', але не зі словом
'read'.
Для роботи з регулярними виразами необхідно імпортувати модуль re:
>>> import re
>>> re.search ("r[ea]d", "rad") # вказуємо шаблон і текст
<re.Match object; span = (0, 3), match = 'rad'>
>>> re.search ("r[ea]d", "read")
>>> re.search ("[1-8]", "3") # шукає збігом з будь-яким числом
з інтервалу
<re.Match object; span = (0, 1), match = '3'>
>>> re.search ("[1-8]", "9")
>>>
Сортування списку:
ПЕРЕЛІК ПОСИЛАНЬ
Вправа 7.3
Знайдіть у файлі (файл знаходиться в мережі Інтернет):
https://ivstem.kpi.ua/wp-content/uploads/python/ivteb.txt
рядки, що містять назви дисциплін («Назва»). Запишіть знайдені рядки в файл з ім'ям
dyscipliny.txt.
Вправа 7.4
Очистіть файл від HTML-тегів:
https://ivstem.kpi.ua/wp-content/uploads/python/priklad.html
Виведіть на екран «чистий» текст.
PS. можна використовувати тільки стандартні модулі Python.