Як використовувати «with» у python для відкриття файлів (включаючи приклади)
Ви можете використовувати такий синтаксис, щоб відкрити файл у Python, зробити з ним щось, а потім закрити файл:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
Проблема цього підходу полягає в тому, що дуже легко забути закрити файл.
Кращим підходом є використання open , який використовує такий базовий синтаксис:
with open (' my_data.csv ') as file: df = file. read () print (df)
Використовуючи цей підхід, файл, з яким ви працюєте, автоматично закривається, тому вам не потрібно пам’ятати про використання file.close() .
У наступних прикладах показано, як використовувати open у різних сценаріях.
Приклад 1: використовуйте оператор With, щоб прочитати файл
У наведеному нижче коді показано, як використовувати оператор with для читання файлу в Python і друку вмісту файлу:
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
Вміст файлу друкується, і файл автоматично закривається без введення file.close() .
Приклад 2: використання оператора With для запису файлу
У наступному коді показано, як використовувати оператор with для запису тексту у файл:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
Зауважте, що символ « w » у операторі open() повідомляє Python використовувати режим «запису» для файлу, а не режим читання.
Приклад 3: використання оператора With для читання та запису файлів
Ми також можемо відкрити кілька файлів одночасно за допомогою одного оператора «with».
У наведеному нижче коді показано, як за допомогою оператора “with” відкрити два файли, прочитати вміст одного файлу, а потім записати вміст першого файлу в другий файл:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
Якщо ми перейдемо до місця, де ми написали “data_out.csv”, ми зможемо переглянути вміст файлу:
Зауважте, що ми можемо використовувати функцію open() , щоб відкрити скільки завгодно файлів в одному операторі “with”.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в Python:
Як читати файли CSV за допомогою Pandas
Як читати файли Excel за допомогою Pandas
Як читати текстові файли за допомогою Pandas