3.1 Створення файлу

Файли створюються автоматично при їх відкритті в режимі запису ('w') або додавання ('a'). Якщо файл вже існує, режим 'w' перезаписує його вміст, а режим 'a' додає дані в кінець файлу.

Приклад створення файлу


file = open('example.txt', 'w')  # Відкриває файл для запису, створюючи його, якщо він не існує
file.write("This is a new file.\n")
file.close()
        

У цьому прикладі файл example.txt створюється (якщо він не існує) і в нього записується рядок "This is a new file.\n".

Можна створити повністю порожній файл — просто відкрийте його для запису і відразу закрийте.

Приклад створення порожнього файлу


file = open('example.txt', 'w')  
file.close()
        

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

3.2 Запис у файл

Існує два популярних методи для запису даних у файл — write() і writelines().

Метод write()

Метод write() записує рядок у файл. Якщо файл відкрито в режимі запису ('w'), його вміст буде видалено перед записом нових даних. Якщо файл відкрито в режимі додавання ('a'), нові дані додадуться в кінець файлу.

Приклад використання write():


# Відкриття файлу в режимі запису
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

Метод writelines()

Метод writelines() приймає список рядків і записує їх у файл. Він не додає символи нового рядка автоматично, тому вам потрібно включити їх у рядки.

Приклад використання writelines():


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# Відкриття файлу в режимі запису
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

Кодування файлу

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

Приклад:


# Відкриття файлу для запису з кодуванням UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("Текст українською мовою.\n")
file.write("More text in UTF-8.\n")
file.close()
        

Ми обговоримо різні кодування файлів і тексту пізніше, але вам вже корисно знати, що цей параметр існує і його використання може позбавити вас від багатьох проблем.

3.3 Додавання даних у файл

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

Ось кілька прикладів:

Додавання рядків у кінець файлу

Цей приклад показує, як відкрити файл в режимі додавання ('a') і додати кілька рядків у його кінець.


file = open('example.txt', 'a')  # Відкриття файлу для додавання даних
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # Закриття файлу
        

Додавання списку рядків у кінець файлу

Цей приклад показує, як використовувати метод writelines() для додавання списку рядків у кінець файлу.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # Відкриття файлу для додавання даних
file.writelines(lines)  # Додавання списку рядків
file.close()  # Закриття файлу
        

Додавання рядка з вказівкою кодування

Цей приклад показує, як відкрити файл в режимі додавання з вказівкою кодування (наприклад, UTF-8) і додати рядок.


# Відкриття файлу для додавання даних з вказівкою кодування
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("Додавання рядка з використанням UTF-8.\n")
file.write("Ще один рядок додано.\n")
file.close()  # Закриття файлу
        

Як бачиш, це дуже просто.