logo

Обробка файлів у Python

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

У цій статті ми вивчимо Обробка файлів Python, переваги, недоліки та як працюють функції відкриття, запису та додавання у файлі Python.



Обробка файлів Python

Python підтримує обробку файлів і дозволяє користувачам обробляти файли, тобто читати та записувати файли разом із багатьма іншими параметрами обробки файлів, працювати з файлами. Концепція обробки файлів поширилася на різні інші мови, але реалізація або складна, або тривала, як і інші концепції Python, ця концепція тут також проста і коротка. Python обробляє файли по-різному як текстові або двійкові, і це важливо. Кожен рядок коду містить послідовність символів, і вони утворюють текстовий файл. Кожен рядок файлу закінчується спеціальним символом, який називається EOL або Кінець рядка персонажі, як кома {,} або символ нового рядка. Він завершує поточний рядок і повідомляє інтерпретатору про початок нового. Почнемо з читання та запису файлів.

Переваги обробки файлів у Python

  • Універсальність : Обробка файлів у Python дозволяє виконувати широкий спектр операцій, таких як створення, читання, запис, додавання, перейменування та видалення файлів.
  • Гнучкість : Обробка файлів у Python дуже гнучка, оскільки дозволяє працювати з різними типами файлів (наприклад, текстові файли, бінарні файли, файли CSV тощо), а також для виконання різних операцій з файлами (наприклад, читання, запис, додавання тощо).
  • Користувач дружній : Python надає зручний інтерфейс для обробки файлів, що полегшує створення, читання та керування файлами.
  • Кросплатформенність : Функції обробки файлів Python працюють на різних платформах (наприклад, Windows, Mac, Linux), що забезпечує повну інтеграцію та сумісність.

Недоліки обробки файлів у Python

  • Схильний помилятися: Операції обробки файлів у Python можуть бути схильні до помилок, особливо якщо код написаний не ретельно або якщо є проблеми з файловою системою (наприклад, дозволи на файли, блокування файлів тощо).
  • Ризики безпеки : Обробка файлів у Python також може становити загрозу безпеці, особливо якщо програма приймає дані користувача, які можна використовувати для доступу до конфіденційних файлів у системі або їх зміни.
  • Складність : Обробка файлів у Python може бути складною, особливо під час роботи з більш складними форматами файлів або операціями. Необхідно звернути особливу увагу на код, щоб переконатися, що файли обробляються належним чином і безпечно.
  • Продуктивність : операції обробки файлів у Python можуть бути повільнішими, ніж інші мови програмування, особливо під час роботи з великими файлами або виконання складних операцій.

Для цієї статті ми розглянемо наступне geeks.txt файл як приклад.

Hello world techcodeview.com 123 456>

Відкрити файл Python

Перш ніж виконувати будь-яку операцію з файлом, як-от читання або запис, спочатку ми повинні відкрити цей файл. Для цього ми повинні використовувати вбудовану функцію Python ВІДЧИНЕНО() але під час відкриття ми повинні вказати режим, який представляє мету відкриття файлу.



f = open(filename, mode)>

Там, де підтримується такий режим:

  1. r: відкрити існуючий файл для операції читання.
  2. в: відкрити існуючий файл для операції запису. Якщо файл уже містить певні дані, його буде перевизначено, але якщо файл відсутній, він також створює файл.
  3. a: відкрити існуючий файл для операції додавання. Це не замінить наявні дані.
  4. r+: Для читання та запису даних у файл. Попередні дані у файлі буде замінено.
  5. w+: Для запису та читання даних. Це замінить наявні дані.
  6. a+: Для додавання та читання даних із файлу. Це не замінить наявні дані.

Робота в режимі читання

Існує більше одного способу Як читати з файлу на Python . Давайте подивимося, як ми можемо прочитати вміст файлу в режимі читання.

види комп'ютера

приклад 1: Команда open відкриє файл Python у режимі читання, а цикл for надрукує кожен рядок у файлі.



Python3




# a file named 'geek', will be opened with the reading mode.> file> => open>(>'geek.txt'>,>'r'>)> # This will print every line one by one in the file> for> each>in> file>:> >print> (each)>

>

>

Вихід:

Hello world techcodeview.com 123 456>

приклад 2: У цьому прикладі ми витягнемо рядок, який містить усі символи у файлі Python, який ми зможемо використовувати file.read() .

Python3




# Python code to illustrate read() mode> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read())>

>

>

Вихід:

Hello world techcodeview.com 123 456>

приклад 3: У цьому прикладі ми побачимо, як можна прочитати файл за допомогою з заява в Python.

Python3




# Python code to illustrate with()> with>open>(>'geeks.txt'>) as>file>:> >data>=> file>.read()> print>(data)>

>

>

Вихід:

Hello world techcodeview.com 123 456>

Приклад 4: Інший спосіб прочитати файл — викликати певну кількість символів, наприклад, у наступному коді інтерпретатор прочитає перші п’ять символів збережених даних і поверне їх у вигляді рядка:

Python3




# Python code to illustrate read() mode character wise> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read(>5>))>

>

>

Вихід:

Hello>

Приклад 5: Ми також можемо розділяти рядки під час читання файлів у Python. Функція split() розділяє змінну, коли зустрічається пробіл. Ви також можете розділити, використовуючи будь-які символи за вашим бажанням.

Python3




# Python code to illustrate split() function> with>open>(>'geeks.txt'>,>'r'>) as>file>:> >data>=> file>.readlines()> >for> line>in> data:> >word>=> line.split()> >print> (word)>

>

>

Вихід:

['Hello', 'world'] ['techcodeview.com'] ['123', '456']>

Створення файлу за допомогою функції write().

Подібно до читання файлу в Python, існує кілька способів Запис у файл на Python . Давайте подивимося, як ми можемо записати вміст файлу за допомогою функції write() у Python.

дата java в рядок

Робота в режимі запису

Давайте подивимося, як створити файл і як працює режим запису.

приклад 1: У цьому прикладі ми побачимо, як режим запису та функція write() використовуються для запису у файл. Команда close() завершує роботу всіх ресурсів і звільняє систему від цієї програми.

Python3




# Python code to create a file> file> => open>(>'geek.txt'>,>'w'>)> file>.write(>'This is the write command'>)> file>.write(>'It allows us to write in a particular file'>)> file>.close()>

>

>

Вихід:

This is the write commandIt allows us to write in a particular file>

приклад 2: Ми також можемо використовувати письмовий оператор разом із функцією with().

Python3




# Python code to illustrate with() alongwith write()> with>open>(>'file.txt'>,>'w'>) as f:> >f.write(>'Hello World!!!'>)>

>

>

Вихід:

Hello World!!!>

Робота режиму додавання

Давайте подивимося, як працює режим додавання.

приклад: Для цього прикладу ми використаємо файл Python, створений у попередньому прикладі.

Python3




# Python code to illustrate append() mode> file> => open>(>'geek.txt'>,>'a'>)> file>.write(>'This will add this line'>)> file>.close()>

>

>

Вихід:

This is the write commandIt allows us to write in a particular fileThis will add this line>

Існують також різні інші команди в обробці файлів Python, які використовуються для виконання різних завдань:

rstrip(): This function strips each line of a file off spaces from the right-hand side. lstrip(): This function strips each line of a file off spaces from the left-hand side.>

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

Реалізація всіх функцій обробки файлів

У цьому прикладі ми розглянемо всі поняття, які ми бачили вище. Окрім цього, ми також побачимо, як ми можемо видалити файл за допомогою функції remove() з Python модуль os .

Python3




import> os> def> create_file(filename):> >try>:> >with>open>(filename,>'w'>) as f:> >f.write(>'Hello, world! '>)> >print>(>'File '> +> filename>+> ' created successfully.'>)> >except> IOError:> >print>(>'Error: could not create file '> +> filename)> def> read_file(filename):> >try>:> >with>open>(filename,>'r'>) as f:> >contents>=> f.read()> >print>(contents)> >except> IOError:> >print>(>'Error: could not read file '> +> filename)> def> append_file(filename, text):> >try>:> >with>open>(filename,>'a'>) as f:> >f.write(text)> >print>(>'Text appended to file '> +> filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not append to file '> +> filename)> def> rename_file(filename, new_filename):> >try>:> >os.rename(filename, new_filename)> >print>(>'File '> +> filename>+> ' renamed to '> +> new_filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not rename file '> +> filename)> def> delete_file(filename):> >try>:> >os.remove(filename)> >print>(>'File '> +> filename>+> ' deleted successfully.'>)> >except> IOError:> >print>(>'Error: could not delete file '> +> filename)> if> __name__>=>=> '__main__'>:> >filename>=> 'example.txt'> >new_filename>=> 'new_example.txt'> >create_file(filename)> >read_file(filename)> >append_file(filename,>'This is some additional text. '>)> >read_file(filename)> >rename_file(filename, new_filename)> >read_file(new_filename)> >delete_file(new_filename)>

>

>

Вихід:

File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.>