logo

Python os.listdir() -menetelmä

On täysin mahdollista, että olemme kohdanneet elämässämme niin monia tapauksia, joissa haluamme tietää kuinka monta ja mitä tiedostoja on hakemistossa (kansiossa). Tai joskus meidän on etsittävä tiedostoa, ja tiedämme sen nimen, mutta emme tiedä missä kansiossa se on. Siinä tapauksessa ainoa vaihtoehto meille on etsiä tiedosto kohdehakemistosta.

Nyt monille meistä näyttäisi olevan niin helppoa ajatella; meidän täytyy vain mennä hakemistoon ja katsoa sieltä. Tämä on mahdollinen vaihtoehto, mutta tämä vaihtoehto toimii vain, kun meillä on vain pienempi määrä tiedostoja kyseisessä hakemistossa. Vasta sitten voimme käydä kyseisessä hakemistossa manuaalisesti ja etsiä siellä olevia tiedostoja. Mutta entä siinä tapauksessa, että kohdehakemistossa on suuri määrä tiedostoja, sanotaanpa vain tuhansia tiedostoja. Siinä tapauksessa tämä vaihtoehto ei toimi, koska kestää hyvin kauan (jopa useita päiviä) etsiä, jos tietty tiedosto on kohdehakemistossa, jossa on tuhansia tiedostoja. Näyttää siltä, ​​mitä meidän pitäisi tehdä, jos meidän on löydettävä tiedosto sen nimellä hakemistosta, jossa on tuhansia tiedostoja.

Voimme etsiä nimeä tiedostoselaimen kautta, mutta jos teemme niin, se vie myös paljon aikaa, ei kuten edellisessä vaihtoehdossa, mutta kyllä, paljon aikaa. Tämä johtuu siitä, että tiedostonhallinta tarkistaa kaikki hakemistossa olevat tiedostot, ja meidän on odotettava niin paljon, kunnes levyn täydellinen tarkistus on tehty.

Mutta entä jos sanomme, että olemme jo toimittaneet kaikkien kohdehakemistossa tai polussa olevien tiedostojen nimet. Sitten meidän on erittäin helppoa tarkistaa, onko kyseinen tiedosto kohdistetussa polussa, ja se näyttää myös, mistä meidän on saatava kaikkien kohdehakemistossa olevien tiedostojen nimet.

Jos saamme luettelon kaikista hakemistossa olevista tiedostoista tekstimuodossa, meidän on vain kirjoitettava kyseisen tiedoston nimi hakupalkkiin. Ja sitten tuskin kestää sekuntia selvittää, onko tiedosto nimiluettelossa vai ei. Siten voimme ymmärtää, kuinka tärkeää on olla menetelmä, jolla voimme tulostaa luettelon kaikkien hakemistossa tai polussa olevien tiedostojen nimistä.

Python tarjoaa meille sellaisia ​​menetelmiä, joissa voimme tulostaa nimiluettelon, ja yksi tällainen menetelmä on os-moduulin listdir()-funktio. Opimme tämän listdir()-menetelmän tässä opetusohjelmassa ja käytämme sitä Python-ohjelmassa tulostamaan luettelon kaikista määritetyssä polussa olevista tiedostoista.

bfs vs dfs

os.listdir() -menetelmä Pythonissa

Listdir()-funktio on os-moduulin tarjoama funktio, ja käyttämällä tätä funktiota voimme tulostaa luettelon kaikista määritetyssä polussa olevista tiedostoista. listdir() -menetelmää voidaan käyttää myös, jos haluamme tulostaa luettelon tiedostoista, jotka ovat nykyisessä työhakemistossa (missä ohjelma on). Voimme käyttää listdir()-menetelmää aina, kun meidän on saatava kaikkien tietyssä hakemistossa olevien tiedostojen nimet.

Syntaksi os.listdir()-funktiolle:

Seuraava on syntaksi os-moduulin listdir()-funktiolle:

 >> os.listdir(pathSpecified) 

Parametrit:

Kuten voimme nähdä yllä annetusta syntaksista, olemme antaneet vain argumentin listdir()-metodin sisällä. listdir()-funktio ottaa seuraavan polkuparametrin:

    polkuMääritetty:Tässä pathSpecified-muuttuja edustaa kohdehakemiston polkua, josta haluamme tietää kaikkien tiedostojen nimet. Tämä on valinnainen argumentti listdir()-funktiossa, ja jos emme anna määritettyä polkua funktion sisällä, se tulostaa kaikki tiedostojen nimet nykyisestä työhakemistosta.

Palautustyyppi:

Listdir()-funktion palautustyyppi on 'list', koska se palauttaa luettelon kaikista määritetyssä hakemistossa olevista tiedostoista.

os.listdir() Menetelmä: Toteutus:

Ymmärtääksemme listdir()-funktion toiminnan ja toteutuksen käytämme sitä esimerkkiohjelmassa ja tulostamme tiedostonimien luettelon siitä. Olemme jakaneet listdir()-funktion toteutusosan kahteen osaan:

  1. Tulostetaan tiedostonimiä nykyisestä työhakemistosta
  2. Tulostetaan tiedostonimiä määritetystä polusta

Käytämme esimerkkiohjelmaa jokaiselle luokalle ja saamme tiedostojen nimet jokaisessa menetelmässä.

Tapa 1: Tiedostonimien tulostaminen nykyisestä työhakemistosta:

Tässä menetelmässä tulostetaan tiedostonimien luettelo nykyisestä työhakemistosta käyttämällä toista käyttöjärjestelmämoduulin toimintoa, eli getcwd()-funktiota. Katso seuraava esimerkkiohjelma ymmärtääksesi tämän menetelmän toteutuksen:

Esimerkki 1:

Katso seuraavaa Python-ohjelmaa, jossa käytimme os.listdir()-menetelmää polkuargumentilla:

 # 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) 

Lähtö:

 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'] 

Kuten näemme, kaikkien nykyisessä työhakemistossamme olevien tiedostojen nimet tulostetaan ohjelman tulosteeseen.

Selitys:

Kun os-moduuli on tuotu ohjelmaan, olemme käyttäneet getcwd()-funktiota saadaksemme nykyisen työhakemiston polun. Olemme alustaneet muuttujan nimeltä 'pathSpecified' ja tallentaneet nykyisen työhakemiston polun tähän muuttujaan. Tämän jälkeen olemme käyttäneet listdir()-funktiota toisessa alustettussa muuttujassa, eli listOfFileNames, tallentaaksemme kaikkien tämän muuttujan tiedostojen nimet. Olemme toimittaneet alustetun muuttujan nykyiselle työpolulle argumenttina listdir()-funktiossa, ja lopuksi tulostimme tulosteen kaikkien nimien luettelon print-käskyn avulla.

Jos emme halua käyttää mitään muuta toimintoa ohjelmassamme, voimme myös saada kaikki tiedostojen nimet nykyisestä hakemistosta, jossa ohjelma on. Meidän on vain jätettävä listdir()-funktio sen sijaan, että antaisit argumenttina minkä tahansa hakemiston polun, ja sen jälkeen ohjelma, kun se suoritetaan, antaa tuloksena luettelon kaikista nykyisessä hakemistossa olevista nimistä. Katso seuraava esimerkkiohjelma ymmärtääksesi tämän menetelmän toteutuksen:

hashmapin sisäinen toiminta

Esimerkki 2:

Katso seuraava Python-ohjelma, jossa käytimme os.listdir()-metodia ilman argumentteja:

 # 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) 

Lähtö:

 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'] 

Kuten näemme, luettelo kaikista tiedostoista, jotka ovat nykyisessä tiedostossa, johon Python on asennettu, tulostetaan tulosteeseen ohjelman suorittamisen jälkeen.

miljoona lukua

Selitys:

Tässä ohjelmassa olemme jättäneet pois polkuparametrin ja silti saamme luettelon kaikkien nykyisessä työhakemistossa olevien tiedostojen nimistä. Käytämme tätä menetelmää mieluummin, jos haluamme saada luettelon kaikista tiedostojen nimistä nykyisestä työhakemistosta. Koska tässä menetelmässä meidän ei tarvitse käyttää argumentteja tai määritellä polkumuuttujia, joten se säästää ylimääräisen koodirivin ohjelmassamme ja säästää aikaamme.

Tapa 2: Tiedostonimien tulostaminen määritetystä polusta:

Tässä menetelmässä saamme luettelon kaikista tietyssä hakemistossa olevien tiedostojen nimistä antamalla hakemiston määritetyn polun listdir()-funktion sisällä. Hakemiston polun saamme tiedoston ominaisuuksista, ja sitten voimme käyttää samaa tiedostoa ohjelmassa. Katso seuraava esimerkkiohjelma ymmärtääksesi tämän menetelmän toteutuksen:

Esimerkki 3:

Katso seuraavaa Python-ohjelmaa, jossa käytimme os.listdir()-menetelmää polkuargumentilla:

 # 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) 

Lähtö:

 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'] 

Kuten näemme, kaikkien määritetyssä hakemistossa olevien tiedostojen nimet tulostetaan ohjelman tulosteessa.

Selitys:

Kun os-moduuli on tuotu ohjelmaan, olemme ensin määritelleet polku hakemistoon, josta haluamme tulostaa luettelon kaikista tiedostonimistä alustamalla polkumuuttuja. Sen jälkeen käytimme alustettua polkumuuttujaa listdir()-metodin sisällä käyttääksemme polkua argumenttina funktiossa. Lopuksi käytimme print-käskyn sisällä toista alustettua muuttujaa (listOfFileNames) tulosten tulostamiseen.

Johtopäätös

Opimme os-moduulin listdir()-menetelmästä tässä opetusohjelmassa ja ymmärsimme tämän toiminnon tärkeyden. Opimme tämän funktion syntaksin ja sen jälkeen opimme tämän funktion käyttötavat. Viimeksi käytimme Python-ohjelmaa listdir()-funktion kanssa ymmärtääksemme kunkin menetelmän toteutuksen.