Як використовувати «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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *