Moduł Python Tempfile

Moduł Python Tempfile
Często w naszych programach musimy przechowywać tymczasowe informacje o stanie programu i obiektach, które mogą, ale nie muszą żyć poza samym stanem programu. Dane zapisane w tych plikach mogą nie znajdować się w formie czytelnej człowieka, a nawet w formie, której mogą być używane przez każdego oprócz niektórych programów, algorytmów lub hakerów, mogą znaleźć sposób na uzyskanie informacji z tych danych, które mogą poświęcić Bezpieczeństwo systemu. Musimy więc utworzyć logikę, która tworzy te pliki, zapisać niektóre dane, a następnie usunąć pliki. Co jeśli było coś, co wyodrębnia tak wiele operacji w naszym programie? Wygląda na to, że w Pythonie jest moduł na to samo, Tempfile moduł.

Przykłady z modułem tempfile

Zaczniemy od prostych przykładów z Python Tempfile Moduł tutaj.

Tworzenie plików tymczasowych

Pierwszą rzeczą potrzebną do zapisania danych tymczasowych są pliki, w których możemy przechowywać te dane. Można to zrobić za pomocą Plik tymczasowy() funkcjonować. Największą zaletą tej funkcji jest to, gdy plik jest tworzony z tą funkcją, żadne linki do tego pliku nie są wykonane w systemie plików systemu, więc nie można uzyskać dostępu do tych plików.

Spójrzmy na prosty program, który wykorzystuje Plik tymczasowy() funkcjonować:

Import OS
import Tempfile
# Używanie PID w nazwie pliku w celu lepszej identyfikacji
file = '/tmp/linuxhint_%s.txt ' % OS.getPid ()
# Zapewnienie trybu pliku
temp_file = Open (plik, „w+b”)
próbować:
print ('TEMP_FILE: 0' '.format (temp_file))
Drukuj ('TEMP_FILE.Nazwa: 0 '.format (temp_file.nazwa))
Wreszcie:
TEMP_FILE.zamknąć()
# Usunięcie tego plik tymczasowego samodzielnie
OS.Usuń plik)
Drukuj („Metadane tymczasowe:”)
TEMP_FILE = TEMPFILE.Plik tymczasowy()
próbować:
print ('TEMP_FILE: 0' '.format (temp_file))
Drukuj ('TEMP_FILE.Nazwa: 0 '.format (temp_file.nazwa))
Wreszcie:
# Oczyści plik, gdy zostanie wywołane zamknięcie
TEMP_FILE.zamknąć()

Oto, co wracamy z tym poleceniem:

Tworzenie pliku tymczasowego

Ten plik jest usuwany, gdy tylko zamknąć() funkcja jest wywoływana na Tempfile odniesienie.

Czytanie z pliku tymczasowego

Nawet czytanie z pliku tymczasowego jest łatwe i można go wykonać w jednym wywołaniu metody w tym samym module. Zaletą tej funkcji jest to Pomaga nam unikać złożonych operacji IO zaangażowany, jeśli potrzebujemy wykonać te operacje ręczne. Oto program pokazujący tę funkcję w akcji:

Import OS
import Tempfile
TEMPFILE = TEMPFILE.Plik tymczasowy()
próbować:
Drukuj („Pisanie danych do tempfile:”)
Tempfile.Napisz (dane B'any mogą się tutaj udać.')
Tempfile.szukaj (0)
print („Czytanie formularza danych tempfile: \ n \ t 0”.format (tempfile.Czytać()))
Wreszcie:
Tempfile.zamknąć()

Zobaczmy dane wyjściowe tego polecenia:

Python odczytany z pliku tymczasowego

Cały tekst w plikach tymczasowych został dostarczony z pojedynczą metodą wywołania.

Pisanie zwykłego tekstu w pliku tymczasowym

W naszych powyższych programach wszystkie dane zapisane w plikach nie były w postaci prostego formatu zwykłego tekstu. Jeśli chcemy to zrobić w przypadku prostych operacji tekstowych, możemy po prostu zmodyfikować tryb pliku, gdy otwieramy plik tymczasowy do modyfikacji:

import Tempfile
filemode = 'w+t'
Z tempfile.Tymczasowy plik (tryb = filemode) jako plik:
plik.Writeleines (['Linux \ n', „Ubuntu \ n '])
plik.szukaj (0)
dla elementu w pliku:
Drukuj (element.rstrip ())

Oto, co wracamy z tym poleceniem:

Pisanie zwykłego tekstu w pliku

Tworzenie nazwanych plików tymczasowych

Pliki, które należy rozciągnąć w wielu procesach, muszą zostać nazwane, aby proces nie usunął ich po zakończeniu. Oto jak możemy utworzyć tymczasowy nazwany plik:

Import OS
import Tempfile
TEMPFILE = TEMPFILE.NazwETEMPORTYFILE ()
próbować:
print ('tempfile: 0' '.format (tempfile))
wydrukować („Temp.TEMPFILE: 0 '.format (tempfile.nazwa))
Wreszcie:
# Usuwanie również pliku
Tempfile.zamknąć()
druk („istnieje? : 0 '.Format (OS.ścieżka.istnieje (tempfile.nazwa)))

Zobaczmy dane wyjściowe tego polecenia:

Nazwany TEMPFILE

Jeśli nie usuniemy pliku, możemy sprawdzić jego istnienie w innym programie i użyć go, jeśli istnieje on w określonej lokalizacji.

Dostarczanie sufiks i prefiks nazwy pliku

Aby łatwo zidentyfikować pliki należące do naszych własnych procesów w systemie plików, możemy również zastosować sufiks i prefiks do nazwy pliku:

import Tempfile
TEMPFILE = TEMPFILE.NazwaTeMorgentFile (sufiks = '_ Ubuntu',
prefix = „Linuxhint_”,
dir = '/tmp',)
próbować:
druk („tempfile:”, tempfile)
Drukuj („Tempfile.Nazwa: ', tempfile.nazwa)
Wreszcie:
Tempfile.zamknąć()

Oto, co wracamy z tym poleceniem:

Zastosowanie prefiksu i sufiksu do nazwy pliku

Dostarliśmy trzy parametry metody, która działa jako sufiks i prefiks dla nazwy pliku, które zostaną utworzone w określonej lokalizacji.

Wniosek

W tej lekcji przyjrzeliśmy się, w jaki sposób możemy wykorzystać moduł Python Tempfile do zarządzania plikami tymczasowymi w naszym kodzie. Przeczytaj więcej postów opartych na Pythonie tutaj.