Příklady s modulem tempfile
Začneme jednoduchými příklady s Pythonem dočasný soubor modul zde.
Vytváření dočasných souborů
První věcí potřebnou k uložení dočasných dat jsou soubory, kam můžeme tato data uložit. To lze provést pomocí TemporaryFile () funkce. Největší výhodou této funkce je, když je soubor vytvořen pomocí této funkce, v systému souborů systému nejsou vytvářeny žádné odkazy na tento soubor, takže není možné, aby k těmto souborům přistupovaly jiné procesy.
Podívejme se na jednoduchý program, který využívá TemporaryFile () funkce:
import osimport dočasného souboru
# Použití PID v názvu souboru pro lepší identifikaci
file = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Poskytování režimu souborů
temp_file = otevřít (soubor, 'w + b')
Snaž se:
print ('temp_file: 0'.format (temp_file))
print ('temp_file.jméno: 0 '.formát (temp_file.název))
Konečně:
temp_file.zavřít()
# Odstranění dočasného souboru sami
os.odstranit (soubor)
print ('TemporaryFile Metadata:')
temp_file = tempfile.TemporaryFile ()
Snaž se:
print ('temp_file: 0'.format (temp_file))
print ('temp_file.jméno: 0 '.formát (temp_file.název))
Konečně:
# Vymaže soubor, když je zavřeno zavření
temp_file.zavřít()
S tímto příkazem se vrátíme:
Vytváření dočasného souboru
Tento soubor je odstraněn, jakmile zavřít() funkce je volána na dočasný soubor odkaz.
Čtení z dočasného souboru
I čtení z dočasného souboru je snadné a lze jej provést v jediném volání metody ve stejném modulu. Výhodou této funkce je, že pomáhá nám vyhnout se složitým operacím IO pokud potřebujeme tyto operace provádět ručně. Zde je program zobrazující tuto funkci v akci:
import osimport dočasného souboru
tempFile = tempfile.TemporaryFile ()
Snaž se:
print ('Zápis dat do tempFile:')
tempFile.write (b'Any data can go here.')
tempFile.hledat (0)
print ('Čtení datového formuláře tempFile: \ n \ t 0'.formát (tempFile.číst()))
Konečně:
tempFile.zavřít()
Podívejme se na výstup tohoto příkazu:
Python načtený z dočasného souboru
Veškerý text v dočasných souborech byl poskytnut zpět pomocí jediného volání metody.
Zápis prostého textu do dočasného souboru
V našich výše uvedených programech neměla všechna data zapsaná do souborů formu jednoduchého formátu prostého textu. Pokud to chceme udělat pro jednoduché textové operace, můžeme pouze upravit režim souboru, když otevřeme dočasný soubor pro úpravy:
import dočasného souborufileMode = 'w + t'
s dočasným souborem.TemporaryFile (mode = fileMode) jako soubor:
soubor.spisové řádky (['Linux \ n', 'Ubuntu \ n'])
soubor.hledat (0)
pro položku v souboru:
tisk (položka.rstrip ())
S tímto příkazem se vrátíme:
Zápis prostého textu do souboru
Vytváření dočasných souborů s názvem
Soubory, které je třeba rozložit na více procesů, musí být pojmenovány, aby je proces po dokončení neodstranil. Zde můžeme vytvořit dočasný pojmenovaný soubor:
import osimport dočasného souboru
tempFile = tempfile.NamedTemporaryFile ()
Snaž se:
print ('tempFile: 0'.formát (tempFile))
print ('temp.tempFile: 0 '.formát (tempFile.název))
Konečně:
# Vymazání souboru také
tempFile.zavřít()
print ('Existuje? : 0 '.formát (os.cesta.existuje (tempFile.název)))
Podívejme se na výstup tohoto příkazu:
Pojmenovaný dočasný soubor
Pokud soubor nevymažeme, můžeme zkontrolovat jeho existenci v jiném programu a použít jej, pokud existuje na zadaném místě.
Poskytnutí názvu souboru Přípona a Předpona
Pro snadnou identifikaci souborů, které patří k našim vlastním procesům v systému souborů, můžeme na název souboru použít také příponu a předponu:
import dočasného souborutempFile = tempfile.NamedTemporaryFile (přípona = '_ ubuntu',
prefix = 'linuxhint_',
dir = '/ tmp',)
Snaž se:
print ('tempFile:', tempFile)
print ('tempFile.name: ', tempFile.název)
Konečně:
tempFile.zavřít()
S tímto příkazem se vrátíme:
Použití předpony a přípony na název souboru
Metodě, která funguje jako přípona a předpona pro název souboru, jsme poskytli tři parametry, které budou vytvořeny v místě, které jsme určili.
Závěr
V této lekci jsme se podívali na to, jak můžeme ke správě dočasných souborů v našem kódu využít modul tempfile Pythonu. Přečtěte si více příspěvků založených na Pythonu zde.