Vytvořte soubor pro kontrolu:
K otestování ukázkového kódu zobrazeného v tomto kurzu můžete použít jakýkoli existující soubor nebo vytvořit nový. Nový textový soubor s názvem clients.txt byl vytvořen s následujícím obsahem, který můžete použít později v další části tutoriálu.
ID Jméno E -mail
01 Jony Liver [chráněno e -mailem]
02 Manik Hossain [chráněno e -mailem]
03 Neha Akter [chráněno e -mailem]
04 Janatul Ferdous [chráněno emailem]
05 Helal Uddin [chráněno e -mailem]
Příklad 1: Zkontrolujte, zda je soubor otevřen nebo ne, pomocí IOError
IOError generuje při volání funkce open () k otevření souboru, který byl otevřen dříve. Vytvořte soubor pythonu pomocí následujícího skriptu a zkontrolujte, zda je soubor otevřen nebo ne pomocí zkus-kromě blok. Zde bude jakýkoli existující název souboru brán jako vstup a otevřen ke čtení. Dále se znovu otevře funkce open (), aby se otevřel stejný soubor, který vyvolá chybu IOError a vytiskne chybovou zprávu.
# Zkontrolujte název souboru
název_souboru = vstup('Zadejte libovolný existující název souboru: n')
# Otevřete soubor poprvé pomocí funkce open ()
fileHandler = otevřeno(název souboru,'r')
# Zkuste soubor znovu otevřít stejný soubor
Snaž se:
s otevřeným('název souboru','r') tak jakosoubor:
# Vytiskněte zprávu o úspěchu
tisk('Soubor se otevřel ke čtení.')
# Pokud je soubor otevřen dříve, zvyšte chybu
kromě IOError:
tisk('Soubor se již otevřel.')
Výstup:
Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Tady, clients.txt existuje v aktuálním umístění a chybová zpráva, Soubor se již otevřel, vytiskl pro IOError výjimka.
Příklad-2: Zkontrolujte, zda je soubor zavřený nebo ne, pomocí vlastnosti closed.
Hodnota Zavřeno vlastnost bude pravdivá, pokud je jakýkoli soubor uzavřen. Vytvořte soubor pythonu pomocí následujícího skriptu a zkontrolujte, zda je soubor v aktuálním umístění zavřený nebo ne. Předchozí příklad skriptu vygeneruje chybu, pokud název souboru převzatý od uživatele v aktuálním umístění neexistuje. Tento problém byl v tomto příkladu vyřešen. The vy modul zde slouží ke kontrole existence názvu souboru, který bude převzat od uživatele. Funkce check_closed () definovala, že má zkontrolovat, zda je soubor zavřený nebo ne, který bude volán, pokud soubor existuje.
# Importujte os modul a zkontrolujte existenci souboru
import
# Funkce Drfine zkontrolujte, zda je soubor zavřený nebo ne
def check_closed():
-lifileHandler.closed == Nepravda:
# Vytiskněte zprávu o úspěchu
tisk('Soubor se otevřel ke čtení.')
jiný:
# Vytiskněte chybovou zprávu
tisk('Soubor se zavřel.')
# Zkontrolujte název souboru
název_souboru = vstup('Zadejte libovolný existující název souboru: n')
# Zkontrolujte, zda soubor existuje nebo ne
-lios.path.exists(název souboru):
# Otevřete soubor pro čtení
fileHandler = otevřeno(název souboru,'r')
# Zavolejte funkci
check_closed()
jiný:
# Vytiskněte zprávu, pokud soubor neexistuje
tisk('Soubor neexistuje.')
Výstup:
Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Tady, clients.txt existuje v aktuálním umístění a zpráva o úspěchu, Soubor se otevřel ke čtení, vytiskla, protože se vrátila hodnota uzavřené vlastnosti Nepravdivé .
Příklad 3: Zkontrolujte, zda je soubor otevřen nebo ne, pomocí OSError
The OSError generuje, když je funkce rename () volána více než jednou pro již otevřený soubor. Vytvořte soubor pythonu pomocí následujícího skriptu a zkontrolujte, zda je soubor otevřen nebo zavřen pomocí OSError . Modul os byl ve skriptu použit ke kontrole existence souboru a přejmenování souboru. Když přejmenovat() funkce je volána podruhé, vygeneruje se OSError a vytiskne se vlastní chybová zpráva.
# Importujte os modul a zkontrolujte existenci souboruimport
# Nastavte stávající název souboru
název souboru ='clients.txt'
# Nastavte nový název souboru
nové jméno ='customers.txt'
# Zkontrolujte, zda soubor existuje nebo ne
-lios.path.exists(název souboru):
Snaž se:
# Poprvé zavolejte funkci přejmenování
os.rename(jméno souboru, nové jméno)
# Podruhé zavolejte funkci přejmenování
os.rename(jméno souboru, nové jméno)
# Zvedněte chybu, pokud se soubor otevřel
kromě OSError:
tisk('Soubor je stále otevřený.')
jiný:
# Vytiskněte zprávu, pokud soubor neexistuje
tisk('Soubor neexistuje.')
Výstup:
Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Tady, clients.txt existuje v aktuálním umístění a chybová zpráva, Soubor je stále otevřený, vytiskl, protože OSError při druhém došlo k vygenerování výjimky přejmenovat() funkce byla provedena.
Závěr:
Když potřebujeme ve skriptu pracovat se stejným souborem vícekrát, je důležité vědět, zda je soubor otevřený nebo zavřený. Po dokončení operace se souborem je lepší zavolat funkci close () a zavřít soubor. K chybě dochází při druhém otevření souboru ve stejném skriptu bez jeho zavření. V tomto kurzu byla ukázána různá řešení tohoto problému pomocí jednoduchých příkladů, které pomohou uživatelům pythonu.