logo

Як читати з файлу на Python

Python надає вбудовані функції для створення, запису та читання файлів. У Python можна обробляти два типи файлів: звичайні текстові файли та двійкові файли (написані двійковою мовою, 0 і 1).

    Текстові файли: у файлах цього типу кожен рядок тексту завершується спеціальним символом, який називається EOL (кінець рядка), який за замовчуванням є символом нового рядка (« ») у Python. Двійкові файли: у файлах цього типу немає термінатора для рядка, і дані зберігаються після перетворення їх на зрозумілу машині двійкову мову.

Примітка: Щоб дізнатися більше про обробку файлів натисніть тут .

Режим доступу

Режими доступу визначають тип операцій, можливих у відкритому файлі. Це стосується того, як файл буде використовуватися після його відкриття. Ці режими також визначають розташування дескриптора файлу у файлі. Дескриптор файлу схожий на курсор, який визначає, звідки дані мають читатися або записуватися у файл. Різні режими доступу для читання файлу:



    Лише читання («r»): відкрити текстовий файл для читання. Ручка розташована на початку файлу. Якщо файл не існує, виникає помилка введення-виведення. Це також стандартний режим, у якому відкривається файл. Читати та записувати («r+»): відкрити файл для читання та запису. Ручка розташована на початку файлу. Викликає помилку введення-виведення, якщо файл не існує. Додати та прочитати («a+»): відкрити файл для читання та запису. Файл створюється, якщо він не існує. Ручка розташована в кінці файлу. Дані, що записуються, будуть вставлені в кінці, після наявних даних.

Примітка: Щоб дізнатися більше про режим доступу натисніть тут .

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

Це робиться за допомогою функції open(). Для цієї функції не потрібно імпортувати модуль.

Синтаксис:

іскра підручник
File_object = open(r'File_Name', 'Access_Mode')>

Файл має бути в тому самому каталозі, що й файл програми python else, повна адреса файлу має бути написана замість назви файлу. Примітка: R ставиться перед назвою файлу, щоб запобігти розгляданню символів у рядку назви файла як спеціальних символів. Наприклад, якщо в адресі файлу є emp, тоді розглядається як символ табуляції, і виникає помилка недійсної адреси. r робить рядок необробленим, тобто повідомляє, що рядок містить будь-які спеціальні символи. R можна проігнорувати, якщо файл знаходиться в тому самому каталозі, а адреса не розміщена.

Python3




# Open function to open the file 'MyFile1.txt'> # (same directory) in read mode and> file1>=> open>('MyFile.txt', 'r')> > # store its reference in the variable file1> # and 'MyFile2.txt' in D:Text in file2> file2>=> open>(r'D:TextMyFile2.txt', 'r>+>')>

>

>

Тут file1 створюється як об’єкт для MyFile1, а file2 – як об’єкт для MyFile2.

Закриття файлу

Функція close() закриває файл і звільняє простір пам’яті, зайнятий цим файлом. Він використовується, коли файл більше не потрібний або якщо його потрібно відкрити в іншому файловому режимі.

Синтаксис:

File_object.close()>

Python3


машинопис foreach



# Opening and Closing a file 'MyFile.txt'> # for object name file1.> file1>=> open>('MyFile.txt', 'r')> file1.close()>

>

>

Читання з файлу

Існує три способи читання даних із текстового файлу.

    read() : повертає прочитані байти у вигляді рядка. Читає n байт, якщо n не вказано, читає весь файл.
File_object.read([n])>
    readline() : читає рядок файлу та повертає у вигляді рядка. Для вказаного n читає щонайбільше n байт. Однак не читає більше одного рядка, навіть якщо n перевищує довжину рядка.
File_object.readline([n])>
    readlines() : читає всі рядки та повертає їх як елемент рядка у списку.
File_object.readlines()>

Примітка: ‘ ’ розглядається як спеціальний двобайтовий символ.

приклад:

Python3




# Program to show various ways to> # read data from a file.> # Creating a file> file1>=> open>('myfile.txt', 'w')> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Writing data to a file> 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>))> print>()> 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 
']>

З заявою

оператор with у Python використовується в обробці винятків, щоб зробити код чистішим і більш читабельним. Це спрощує керування загальними ресурсами, такими як файлові потоки. На відміну від наведених вище реалізацій, немає необхідності викликати file.close() під час використання оператора with. Сам оператор with забезпечує належне отримання та вивільнення ресурсів.

Синтаксис:

with open filename as file:>

Python3


java з розділенням рядка



# Program to show various ways to> # read data from a file.> L>=> ['This>is> Delhi ', 'This>is> Paris ', 'This>is> London ']> # Creating a file> with>open>('myfile.txt', 'w') as file1:> ># Writing data to a file> >file1.write('Hello ')> >file1.writelines(L)> >file1.close()># to change file access modes> with>open>('myfile.txt', 'r>+>') as file1:> ># Reading from a file> >print>(file1.read())>

>

>

Вихід:

Hello This is Delhi This is Paris This is London>

Примітка: Щоб дізнатися більше про заяву натисніть тут .