logo

Metoda Python os.listdir().

Je docela možné, že jsme v životě narazili na tolik případů, kdy chceme vědět, kolik a jaké soubory jsou v adresáři (složce). Nebo někdy musíme hledat soubor a známe jeho jméno, ale nevíme, ve které složce se nachází. V tom případě nám zbývá jediná možnost, hledat soubor v cílovém adresáři.

Nyní by se mnohým z nás zdálo tak snadné myslet; prostě musíme jít do adresáře a podívat se tam. Toto je možná možnost, ale tato možnost bude fungovat pouze tehdy, když máme v tomto adresáři pouze menší počet souborů. Teprve poté můžeme tento adresář navštívit ručně a vyhledat soubory, které se v něm nacházejí. Ale co v případě, kdy se v cílovém adresáři nachází velké množství souborů, řekněme tisíce souborů. V takovém případě tato možnost nebude fungovat, protože hledání bude trvat velmi dlouho (dokonce i mnoho dní), pokud se v cílovém adresáři, kde jsou přítomny tisíce souborů, nachází konkrétní soubor. Zdá se, že co bychom měli dělat, když musíme najít soubor s jeho názvem v adresáři s tisíci souborů.

Můžeme vyhledat jméno pomocí průzkumníka souborů, ale pokud to uděláme, bude to také trvat hodně času, ne jako v předchozí možnosti, ale ano, hodně času. Je to proto, že průzkumník souborů prohledá každý soubor přítomný v adresáři a musíme tak dlouho čekat, než bude dokončeno úplné skenování disku.

Ale co když řekneme, že jsme již poskytli jména všech souborů přítomných v cílovém adresáři nebo cestě. Potom pro nás bude velmi snadné zkontrolovat, zda je uvedený soubor přítomen v cílové cestě, a také ukáže, kde potřebujeme získat názvy všech souborů přítomných v cílovém adresáři.

Pokud dostaneme seznam názvů všech souborů přítomných v adresáři v textové podobě, stačí zadat název konkrétního souboru do vyhledávacího pole. A pak sotva bude trvat sekundu zjistit, zda je soubor v seznamu jmen nebo ne. Můžeme tedy pochopit, jak moc je důležité mít metodu, kde můžeme vytisknout seznam jmen všech souborů přítomných v adresáři nebo cestě.

Python nám poskytuje takové metody, kde můžeme vytisknout seznam jmen, a jednou z takových metod je funkce listdir() modulu 'os'. Tuto metodu listdir() se naučíme v tomto tutoriálu a použijeme ji v programu Python k vytištění seznamu jmen všech souborů přítomných v zadané cestě.

zapouzdření v Javě

Metoda os.listdir() v Pythonu

Funkce listdir() je funkce poskytovaná modulem os a pomocí této funkce můžeme vytisknout seznam jmen všech souborů přítomných v zadané cestě. metodu listdir() lze také použít, pokud chceme vytisknout seznam souborů přítomných v aktuálním pracovním adresáři (kde se program nachází). Metodu listdir() můžeme použít vždy, když potřebujeme získat jména všech souborů přítomných v určeném adresáři.

Syntaxe funkce os.listdir():

Následuje syntaxe pro použití funkce listdir() z modulu os:

 >> os.listdir(pathSpecified) 

Parametry:

Jak můžeme vidět ve výše uvedené syntaxi, zadali jsme argument pouze uvnitř metody listdir(). funkce listdir() přebírá následující parametr cesty:

    specifikovaná cesta:Proměnná pathSpecified zde představuje cestu k cílovému adresáři, odkud chceme znát názvy všech souborů. Toto je volitelný argument ve funkci listdir() a pokud neposkytneme zadanou cestu uvnitř funkce, vypíše všechny názvy souborů z aktuálního pracovního adresáře.

Typ návratu:

Návratový typ pro funkci listdir() je 'list', protože vrací seznam jmen všech souborů přítomných v zadaném adresáři.

os.listdir() Metoda: Implementace:

Abychom porozuměli práci a implementaci funkce listdir(), použijeme ji v ukázkovém programu a vytiskneme z ní seznam jmen souborů. Implementační část funkce listdir() jsme rozdělili do následujících dvou částí:

  1. Tisk názvů souborů z aktuálního pracovního adresáře
  2. Tisk názvů souborů ze zadané cesty

Použijeme vzorový program pro každou kategorii a získáme názvy souborů v každé metodě.

Metoda 1: Tisk názvů souborů z aktuálního pracovního adresáře:

V této metodě vytiskneme seznam jmen souborů z aktuálního pracovního adresáře pomocí jiné funkce modulu os, tedy funkce getcwd(). Podívejte se na následující ukázkový program, abyste pochopili implementaci této metody:

Příklad 1:

Podívejte se na následující program Python, kde jsme použili metodu os.listdir() s argumentem path:

 # Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Výstup:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Jak vidíme, názvy všech souborů přítomných v našem aktuálním pracovním adresáři jsou vytištěny ve výstupu programu.

pokud jinak v bash shellu

Vysvětlení:

Po importu os modulu do programu jsme pomocí funkce getcwd() získali cestu k aktuálnímu pracovnímu adresáři. Inicializovali jsme proměnnou s názvem 'pathSpecified' a do této proměnné uložili cestu k aktuálnímu pracovnímu adresáři. Poté jsme použili funkci listdir() v jiné inicializované proměnné, tj. listOfFileNames, k uložení jmen všech souborů do této proměnné. Poskytli jsme inicializovanou proměnnou pro aktuální pracovní cestu jako argument ve funkci listdir() a nakonec jsme vytiskli seznam všech jmen ve výstupu pomocí příkazu print.

Pokud v našem programu nechceme používat žádnou další funkci, pak můžeme všechny názvy souborů získat i z aktuálního adresáře, ve kterém se program nachází. Jen musíme opustit funkci listdir() místo toho, abychom jako argument poskytli cestu k libovolnému adresáři, a poté program, když je spuštěn, poskytne seznam všech jmen přítomných v aktuálním adresáři jako výsledek ve výstupu. Podívejte se na následující ukázkový program, abyste pochopili implementaci této metody:

Příklad 2:

Podívejte se na následující program Python, kde jsme použili metodu os.listdir() bez jakéhokoli argumentu:

 # Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Výstup:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Jak vidíme, seznam názvů všech souborů přítomných v aktuálním souboru, kde je nainstalován Python, je vytištěn na výstupu po spuštění programu.

numpy meshgrid

Vysvětlení:

V tomto programu jsme vynechali parametr path a přesto získáme seznam jmen všech souborů přítomných v aktuálním pracovním adresáři. Tuto metodu budeme preferovat, pokud chceme získat seznam názvů všech souborů z aktuálního pracovního adresáře. Protože v této metodě nemusíme používat žádný argument ani definovat žádnou proměnnou cesty, a tak to ušetří další řádek kódu v našem programu a šetří náš čas.

Metoda 2: Tisk názvů souborů ze zadané cesty:

V této metodě můžeme získat seznam jmen všech souborů přítomných v zadaném adresáři poskytnutím zadané cesty k adresáři uvnitř funkce listdir(). Cestu k adresáři můžeme získat z volby vlastností souboru a poté můžeme stejný soubor použít v programu. Podívejte se na následující ukázkový program, abyste pochopili implementaci této metody:

Příklad 3:

Podívejte se na následující program Python, kde jsme použili metodu os.listdir() s argumentem path:

 # Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames) 

Výstup:

 Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Jak vidíme, názvy všech souborů přítomných v zadaném adresáři jsou vytištěny ve výstupu programu.

Vysvětlení:

Po importu modulu os v programu jsme nejprve definovali cestu k adresáři, odkud chceme vytisknout seznam všech názvů souborů inicializací proměnné cesty. Poté jsme použili inicializovanou proměnnou path uvnitř metody listdir() k použití cesty jako argumentu ve funkci. Nakonec jsme použili další inicializovanou proměnnou (listOfFileNames) uvnitř tiskového příkazu k vytištění výsledku ve výstupu.

Závěr

V tomto tutoriálu jsme se dozvěděli o metodě listdir() modulu os a pochopili jsme důležitost této funkce. Dozvíme se o syntaxi této funkce a poté se naučíme metody použití této funkce. Nakonec jsme použili program Python s funkcí listdir(), abychom pochopili implementaci každé metody.