Jak używać „with” w pythonie do otwierania plików (w tym przykłady)
Możesz użyć następującej składni, aby otworzyć plik w Pythonie, zrobić z nim coś, a następnie zamknąć plik:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
Problem z tym podejściem polega na tym, że bardzo łatwo zapomnieć o zamknięciu pliku.
Lepszym podejściem jest użycie z open , które wykorzystuje następującą podstawową składnię:
with open (' my_data.csv ') as file: df = file. read () print (df)
Stosując to podejście, plik, z którym pracujesz, jest automatycznie zamykany, więc nie musisz pamiętać o użyciu file.close() .
Poniższe przykłady pokazują, jak używać z open w różnych scenariuszach.
Przykład 1: Użyj instrukcji With do odczytania pliku
Poniższy kod pokazuje, jak użyć instrukcji „with” do odczytania pliku w Pythonie i wydrukowania zawartości pliku:
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
Zawartość pliku zostanie wydrukowana, a plik zostanie automatycznie zamknięty bez wpisywania przez nas file.close() .
Przykład 2: Użyj instrukcji With do zapisania pliku
Poniższy kod pokazuje, jak użyć instrukcji „with” do zapisania tekstu do pliku:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
Należy zauważyć, że „ w ” w instrukcji open() mówi Pythonowi, aby używał trybu „zapisu” z plikiem, a nie trybu odczytu.
Przykład 3: Użyj instrukcji With do odczytu i zapisu plików
Możemy także otworzyć wiele plików jednocześnie w jednej instrukcji „z”.
Poniższy kod pokazuje, jak użyć instrukcji „with” do otwarcia dwóch plików, odczytania zawartości jednego pliku, a następnie zapisania zawartości pierwszego pliku w drugim pliku:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
Jeśli przejdziemy do lokalizacji, w której napisaliśmy „data_out.csv”, możemy wówczas wyświetlić zawartość pliku:
Zauważ, że możemy użyć funkcji open() do otwarcia dowolnej liczby plików w jednej instrukcji „with”.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:
Jak czytać pliki CSV za pomocą Pand
Jak czytać pliki Excel za pomocą Pand
Jak czytać pliki tekstowe za pomocą Pand