Файли
Відкриття файлів
Ви можете використовувати Python для читання та запису вмісту файлів .
Це особливо корисно, коли потрібно працювати з великою кількістю даних, збережених у файлі.
Наприклад, у науці про дані й аналітиці дані зазвичай містять файли CSV (значення, розділені комами).
Почнемо з текстових файлів, оскільки ними найлегше маніпулювати.
Перш ніж редагувати файл, його необхідно відкрити за допомогою функції відкриття .
Аргументом функції open є шлях до файлу. Якщо файл знаходиться в поточному робочому каталозі програми, можна вказати тільки його ім'я.
myfile = open("filename.txt")
Ви можете вказати режим , який використовується для відкриття файлу, застосувавши другий аргумент до функції open .
Надсилання "r" означає відкритий у режимі читання, який є типовим.
Надсилання "w" означає режим запису для перезапису вмісту файлу.
Надсилання "a" означає режим додавання для додавання нового вмісту в кінець файлу.
Додавання "b" до режиму відкриває його у двійковому режимі, який використовується для нетекстових файлів (таких як файли зображень і звуку).
# write mode
open("filename.txt", "w")
# read mode
open("filename.txt", "r")
open("filename.txt")
# binary write mode
open("filename.txt", "wb")
Після відкриття та використання файлу його слід закрити.
Це робиться за допомогою методу close файлового об’єкта.
file = open("filename.txt", "w")
# do stuff to the file
file.close()
Читання файлів
Вміст файлу, відкритого в текстовому режимі, можна прочитати за допомогою методу read .
Ми створили на сервері файл books.txt , який містить назви книг. Давайте прочитаємо файл і виведемо вміст:
file = open("/usercode/files/books.txt")
cont = file.read()
print(cont)
file.close()
Читання файлів
Щоб прочитати лише певну кількість файлу, ви можете вказати кількість байтів для читання як аргумент функції читання .
Кожен символ ASCII має 1 байт :
Буде прочитано перші 5 символів файлу, а потім наступні 7.
file = open("/usercode/files/books.txt")
print(file.read(5))
print(file.read(7))
print(file.read())
file.close()
Щоб отримати кожен рядок у файлі, ви можете використати метод readlines() , щоб повернути список, у якому кожен елемент є рядком у файлі.
file = open("/usercode/files/books.txt")
for line in file.readlines():
print(line)
file.close()
Якщо вам не потрібен список для кожного рядка, ви можете просто перейти до файлової змінної:
file = open("/usercode/files/books.txt")
for line in file:
print(line)
file.close()
Harry Potter
The Hunger Games
Pride and Prejudice
Gone with the Wind
Запис файлів
Для запису у файли використовується метод write .
file = open("newfile.txt", "w")
file.write("This has been written to a file")
file.close()
file = open("newfile.txt", "r")
print(file.read())
file.close()
Метод write повертає кількість байтів , записаних у файл, у разі успіху.
msg = "Hello world!"
file = open("newfile.txt", "w")
amount_written = file.write(msg)
print(amount_written)
file.close()