Файли

Відкриття файлів  

Ви можете використовувати 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()