Python надає вбудовані функції для створення, запису та читання файлів. У Python можна обробляти два типи файлів: звичайні текстові файли та двійкові файли (написані двійковою мовою, 0 і 1).
- Текстові файли: У файлі цього типу кожен рядок тексту закінчується спеціальним символом, який називається EOL (кінець рядка), який за замовчуванням є символом нового рядка (« ») у Python.
- Двійкові файли: У файлі цього типу немає термінатора для рядка, і дані зберігаються після перетворення їх у зрозумілу машині двійкову мову.
У цій статті мова піде про відкриття, закриття, читання та запис даних у текстовий файл. Тут ми також побачимо, як дістатися Python вихід у текстовий файл.
Режими доступу до файлів
Режими доступу визначають тип операцій, можливих у відкритому файлі. Це стосується того, як файл буде використовуватися після його відкриття. Ці режими також визначають розташування Дескриптор файлу у файлі. Дескриптор файлу схожий на курсор, який визначає, звідки дані мають читатися або записуватися у файлі, і ми можемо отримати вивід Python у текстовому файлі.
У Python є 6 режимів доступу:
- Лише читання («r»)
- Читання та запис («r+»)
- Лише запис («w»)
- Пишіть і читайте («w+»)
- Лише додавання («a»)
- Додайте та прочитайте («a+»)
Лише читання («r»): Відкрити текстовий файл для читання. Ручка розташована на початку файлу. Якщо файл не існує, виникає помилка введення-виведення. Це також стандартний режим, у якому відкривається файл.
Читання та запис («r+»): Відкрийте файл для читання та запису. Ручка розташована на початку файлу. Викликає помилку введення-виведення, якщо файл не існує.
Тільки написати ('w'): Відкрийте файл для запису. Для існуючих файлів дані скорочуються та перезаписуються. Ручка розташована на початку файлу. Створює файл, якщо файл не існує.
Пишіть і читайте («w+») : відкрити файл для читання та запису. Для наявного файлу дані скорочуються та перезаписуються. Ручка розташована на початку файлу.
Лише додавання («a») : відкрити файл для запису. Файл створюється, якщо він не існує. Ручка розташована в кінці файлу. Дані, що записуються, будуть вставлені в кінці, після наявних даних.
Додайте та прочитайте («a+»): Відкрийте файл для читання та запису. Файл створюється, якщо він не існує. Ручка розташована в кінці файлу. Дані, що записуються, будуть вставлені в кінці, після наявних даних.
Як файли завантажуються в основну пам'ять?
У комп’ютері є два типи пам’яті, тобто основна та додаткова пам’ять. Кожен файл, який ви зберегли або будь-хто зберіг, знаходиться у вторинній пам’яті, оскільки будь-які дані в основній пам’яті видаляються, коли комп’ютер вимикається. Отже, коли вам потрібно змінити будь-який текстовий файл або просто працювати з ним у Python, вам потрібно завантажити цей файл у основну пам’ять. Python взаємодіє з файлами, завантаженими в основну або основну пам’ять обробники файлів (Ось як ваша операційна система надає доступ до python для взаємодії з файлом, який ви відкрили, шукаючи файл у його пам’яті, якщо він знайдений, повертає обробник файлів, і тоді ви можете працювати з файлом).
Відкриття текстового файлу в Python
Це робиться за допомогою функції open(). Для цієї функції не потрібно імпортувати модуль.
File_object = open(r'File_Name','Access_Mode')>
Файл має існувати в тому самому каталозі, що й програмний файл python. Інше, повна адреса файлу має бути написана замість імені файлу. Примітка r розміщується перед назвою файлу, щоб символи в рядку назви файлу не розглядалися як спеціальні символи. Наприклад, якщо в адресі файлу є emp, тоді розглядається як символ табуляції, і виникає помилка недійсної адреси. r робить рядок необробленим, тобто повідомляє, що рядок містить будь-які спеціальні символи. R можна проігнорувати, якщо файл знаходиться в тому самому каталозі, а адреса не розміщена.
Python
жирний текст у css
# Open function to open the file 'MyFile1.txt'> # (same directory) in append mode and> file1>=> open>(>'MyFile1.txt'>,>'a'>)> # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r>'D:TextMyFile2.txt'>,>'w+'>)> |
>
>
Тут file1 створюється як об’єкт для MyFile1, а file2 – як об’єкт для MyFile2
Закриття текстового файлу в Python
Функція close() закриває файл і звільняє простір пам’яті, зайнятий цим файлом. Він використовується, коли файл більше не потрібний або якщо його потрібно відкрити в іншому файловому режимі. File_object.close()
Python
# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>(>'MyFile.txt'>,>'a'>)> file1.close()> |
>
скільки важить кат тімпф
>
Запис у файл на Python
Існує два способи запису у файл:
- Використання write()
- Використання writelines()
Запис у текстовий файл Python за допомогою write()
написати(): Вставляє рядок str1 в один рядок текстового файлу.
File_object.write(str1)>
Запис у текстовий файл за допомогою writelines()
writelines() : Для списку елементів рядка кожен рядок вставляється в текстовий файл. Використовується для вставки кількох рядків одночасно.
File_object.writelines(L) for L = [str1, str2, str3]>
Посилання: write() VS writelines()
Читання з файлу в Python
Існує три способи читання даних із текстового файлу:
- Використання read()
- Використання readline()
- Використання readlines()
Читання з файлу за допомогою read()
читати(): Повертає прочитані байти у вигляді рядка. Читає n байт, якщо n не вказано, читає весь файл.
File_object.read([n])>
Читання текстового файлу за допомогою readline()
readline() : Читає рядок файлу та повертає у вигляді рядка. Для вказаного n зчитує щонайбільше n байтів. Однак не читає більше одного рядка, навіть якщо n перевищує довжину рядка.
File_object.readline([n])>
Читання файлу за допомогою readlines()
readlines() : Читає всі рядки та повертає їх як елемент рядка у списку.
File_object.readlines()>
Примітка: ‘ ’ розглядається як спеціальний двобайтовий символ.
У цьому прикладі файл із назвою myfile.txt створюється та відкривається в режимі запису ('w'>). Дані записуються у файл за допомогоюwrite>іwritelines>методи. Потім файл знову відкривається в режимі читання та додавання ('r+'>). Різні операції читання, в т.чread>,readline>,readlines>, і використанняseek>, продемонструвати різні способи отримання даних із файлу. Нарешті, файл закрито.
Python3
# Program to show various ways to read and> # write data in a file.> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi
'>,>'This is Paris
'>,>'This is London
'>]> #
is placed to indicate EOL (End of Line)> file1.write(>'Hello
'>)> file1.writelines(L)> file1.close()># to change file access modes> file1>=> open>(>'myfile.txt'>,>'r+'>)> print>(>'Output of Read function is '>)> print>(file1.read())> print>()> # seek(n) takes the file handle to the nth> # byte from the beginning.> file1.seek(>0>)> print>(>'Output of Readline function is '>)> print>(file1.readline())> print>()> file1.seek(>0>)> # To show difference between read and readline> print>(>'Output of Read(9) function is '>)> print>(file1.read(>9>))> print>()> file1.seek(>0>)> print>(>'Output of Readline(9) function is '>)> print>(file1.readline(>9>))> file1.seek(>0>)> # readlines function> print>(>'Output of Readlines function is '>)> print>(file1.readlines())> print>()> file1.close()> |
>
>
Вихід:
Output of Read function is Hello This is Delhi This is Paris This is London Output of Readline function is Hello Output of Read(9) function is Hello Th Output of Readline(9) function is Hello Output of Readlines function is ['Hello ', 'This is Delhi ', 'This is Paris ', 'This is London ']>
Додавання до файлу в Python
У цьому прикладі файл із назвою myfile.txt спочатку відкривається в режимі запису ('w'>), щоб написати рядки тексту. Потім файл знову відкривається в режимі додавання ('a'>), а Today додається до наявного вмісту. Результат після додавання відображається за допомогоюreadlines>. Згодом файл знову відкривається в режимі запису, перезаписуючи вміст на Tomorrow. Остаточний результат після запису відображається за допомогоюreadlines>.
Python3
int до рядка java
# Python program to illustrate> # Append vs write mode> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi
'>,>'This is Paris
'>,>'This is London
'>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)>#append mode> file1.write(>'Today
'>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.readlines())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)>#write mode> file1.write(>'Tomorrow
'>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.readlines())> print>()> file1.close()> |
>
>
Вихід:
Output of Readlines after appending ['This is Delhi ', 'This is Paris ', 'This is London ', 'Today '] Output of Readlines after writing ['Tomorrow ']>
Пов'язана стаття:
- Файлові об’єкти в Python