Zastąp plik w Pythonie

Zastąp plik w Pythonie

Są pewne przypadki, w których programista nie chce dołączać danych do już istniejącego pliku ani nawet tworzyć wiele duplikatów tego samego pliku. W takich scenariuszach najlepszym podejściem jest zastąpienie istniejącego pliku nową treścią. Nadpisanie to po prostu proces usuwania poprzedniej zawartości pliku i posiadania nowej zawartości pliku \ w tej lokalizacji.

Ten przewodnik wyjaśni metodę zastąpienia pliku za pomocą Pythona.

Nadpisanie pliku metodą Open () i trybem „W”

Metoda Open () służy do otwarcia pliku w języku programowania Pythona, wykonując ścieżkę pliku i trybu otwarcia, a jeśli tryb otwierania jest ustawiony na „w”Następnie utworzy nowy plik. Oznacza to, że za każdym razem, gdy kod jest wykonywany, program utworzy nowy plik o tej samej nazwie, który ostatecznie spowoduje zastąpienie/zastąpienie/zastąpienie pliku.

Przykład:

Aby zademonstrować działanie nadpisania metodą Open (), w katalogu programu Python jest obecny następujący plik:

W programie Python otwórz plik metodą Open () i zdefiniuj tryb jako „w”:

file = otwarte („demo.txt "," w ")

Następnie zdefiniuj nową zawartość pliku w zmiennej ciągu:

newContent = "To jest nowa treść!"

Napisz "Nowa treść”Do pliku za pomocą metody zapisu ():

plik.Write (NewContent)

Kompletny fragment kodu to:

file = otwarte („demo.txt "," w ")
newContent = "To jest nowa treść!"
plik.Write (NewContent)

Po wykonaniu tego kodu zawartość pliku staje się:

Wyjście potwierdza, że ​​dane z pliku zostały zastąpione.

Dygresja: Zapisanie danych do pliku nie jest obowiązkowe, gdy plik jest otwarty metodą Open () i flagą „W”, plik jest ponowna nadpisana.

Nadpisanie pliku za pomocą metody Trunce ()

Treść pliku można zastąpić za pomocą metody truncate (), a także metody open () w „R+" Lub czytanie+ tryb. Ta metoda nie tworzy nowego pliku za każdym razem, gdy program program.

Sposób, w jaki działa metoda truncate (), polega na tym, że po wywołaniu, usuwa zawartość pliku z bieżącej lokalizacji wskaźnika do samego końca pliku. Aby to zademonstrować, mamy następującą zawartość w pliku „demo” TXT:

W kodzie Python zacznij od otwarcia pliku w trybie „R+” lub czytanie+:

file = otwarte („demo.txt ”,„ r+”)

Następnie ustaw lokalizację wskaźnika na samą początek pliku:

plik.szukaj (0)

Utwórz nową treść, która ma zostać dodana i zapisz ją do pliku:

newContent = „metoda truncate ()”
plik.Write (NewContent)

Jeśli program zostanie wykonany w tym momencie, wynikiem będzie:

Nowa zawartość miała miejsce na początku pliku, ale aby usunąć całą pozostałą zawartość pliku, wywołać metodę Truncate () w pliku. Pełny kod to:

file = otwarte („demo.txt ”,„ r+”)
plik.szukaj (0)
newContent = „metoda truncate ()”
plik.Write (NewContent)
plik.ścięty()

Po wykonaniu tego kodu następujące będą zawartość pliku:

Ze wyjścia jasno wynika, że ​​zawartość była nadpisany.

Zastąp konkretne treści za pomocą Re RE.metoda sub ()

Jeśli użytkownik nie chce zastąpić całej zawartości pliku, zastąp tylko część treści, to może być wykonane przez „pod()„Metoda z„Odnośnie" pakiet. Aby to zademonstrować, następująca treść „próbny" plik tekstowy:

W kodzie Python użyj następujących wierszy, aby zaimportować wymagane pakiety:

import re
ze ścieżki importu ścieżki

Następnie użyj metody ścieżki (), aby zdefiniować lokalizację pliku:

file_location = ścieżka („demo.tekst")

Przeczytaj zawartość pliku i umieść je w nowej zmiennej:

file_content = file_location.read_text ()

Następnie użyj następującej linii:

Lokalizacja pliku.write_text (re.sub („Coders”, „World”, File_Content))

Aby wyjaśnić tę linię:

  • Metoda rsub () szuka słowa „kodery” i zastępuje je „światem” w zmiennej „File_Content”
  • Następnie za pomocą metody zapisu_text () do zapisywania nowej zawartości w lokalizacji pliku

Kompletny fragment kodu:

import re
ze ścieżki importu ścieżki
file_location = ścieżka („demo.tekst")
file_content = file_location.read_text ()
Lokalizacja pliku.write_text (re.sub („Coders”, „World”, File_Content))

Uruchomienie tego kodu będzie przechowywać następujący wynik w pliku tekstowym „demo”:

To wyjście potwierdza, że ​​„koderzy” zostały zastąpione słowem „świat” w pliku.

Wniosek

Metodę wbudowaną open () z trybem „W” można użyć do utworzenia nowego pliku za każdym razem, gdy program jest wykonywany, powodując, że program „zastąpił” plik. Oprócz metody Open () użytkownik może użyć metody Trunce () do zastąpienia zawartości pliku. Jednak metoda Truncate () wymaga od użytkownika najpierw otworzenia pliku za pomocą metody Open (). Jeśli celem jest zastąpienie określonej zawartości pliku, użyj metody sub () z pakietu „Re”.