logo

Python os.listdir() metodas

Visai gali būti, kad savo gyvenime esame susidūrę su tiek daug atvejų, kai norime sužinoti, kiek ir kokių failų yra kataloge (aplanke). Arba kartais turime ieškoti failo ir žinome jo pavadinimą, bet nežinome, kuriame aplanke jis yra. Tokiu atveju mums lieka vienintelė galimybė – ieškoti failo paskirties kataloge.

Dabar daugeliui iš mūsų atrodytų taip lengva galvoti; tereikia eiti į katalogą ir ten pažiūrėti. Tai galima parinktis, tačiau ši parinktis veiks tik tada, kai tame kataloge bus tik mažesnis failų skaičius. Tik tada galime rankiniu būdu apsilankyti tame kataloge ir ieškoti jame esančių failų. Bet ką daryti tuo atveju, kai paskirties kataloge yra daug failų, tarkime, tūkstančiai failų. Tokiu atveju ši parinktis neveiks, nes labai ilgai (net daug dienų) reikės ieškoti, ar paskirties kataloge yra konkretus failas, kuriame yra tūkstančiai failų. Atrodo, ką turėtume daryti, jei turime rasti failą su jo pavadinimu kataloge, kuriame yra tūkstančiai failų.

Vardo galime ieškoti naudodami failų naršyklę, bet jei tai padarysime, tai taip pat užtruks daug laiko, ne taip, kaip ankstesnėje parinktyje, bet taip, daug laiko. Taip yra todėl, kad failų naršyklė nuskaitys kiekvieną kataloge esantį failą, ir mes turime tiek laukti, kol bus atliktas visiškas disko nuskaitymas.

Bet ką daryti, jei sakome, kad jau pateikėme visų paskirties kataloge ar kelyje esančių failų pavadinimus. Tada mums bus labai lengva patikrinti, ar tas nurodytas failas yra tiksliniame kelyje, taip pat parodys, kur turime gauti visų paskirties kataloge esančių failų pavadinimus.

Jei mums pateikiamas visų kataloge esančių failų pavadinimų sąrašas teksto forma, tereikia įvesti to konkretaus failo pavadinimą paieškos juostoje. Ir tada vargu ar prireiks sekundės išsiaiškinti, ar failas yra vardų sąraše, ar ne. Taigi galime suprasti, kad labai svarbu turėti metodą, kuriuo galėtume atspausdinti visų kataloge ar kelyje esančių failų pavadinimų sąrašą.

Python suteikia mums tokius metodus, kuriuose galime atspausdinti vardų sąrašą, o vienas iš tokių būdų yra „os“ modulio funkcija listdir(). Šiame vadove mes išmoksime šį listdir () metodą ir naudosime jį Python programoje, kad išspausdintume visų nurodytame kelyje esančių failų pavadinimų sąrašą.

string.compareto c#

os.listdir() Metodas Python

Funkcija listdir () yra funkcija, kurią teikia OS modulis, ir naudodamiesi šia funkcija galime išspausdinti visų nurodytame kelyje esančių failų pavadinimų sąrašą. listdir() metodas taip pat gali būti naudojamas, jei norime išspausdinti failų, esančių dabartiniame darbo kataloge (kur yra programa), sąrašą. Mes galime naudoti metodą listdir () kiekvieną kartą, kai mums reikia gauti visų nurodytame kataloge esančių failų pavadinimus.

Funkcijos os.listdir() sintaksė:

Toliau pateikiama funkcijos listdir() naudojimo iš OS modulio sintaksė:

 >> os.listdir(pathSpecified) 

Parametrai:

Kaip matome aukščiau pateiktoje sintaksėje, mes pateikėme tik argumentą listdir() metodo viduje. Funkcija listdir () paima šį kelio parametrą:

    Nurodytas kelias:Čia kintamasis pathSpecified reiškia tikslinio katalogo, iš kurio norime sužinoti visų failų pavadinimus, kelią. Tai yra pasirenkamas argumentas funkcijoje listdir () ir jei nenurodysime nurodyto kelio funkcijos viduje, ji išspausdins visus failų pavadinimus iš esamo darbo katalogo.

Grąžinimo tipas:

Funkcijos listdir() grąžinimo tipas yra 'sąrašas', nes ji grąžina visų nurodytame kataloge esančių failų pavadinimų sąrašą.

os.listdir() Metodas: Diegimas:

Norėdami suprasti funkcijos listdir() veikimą ir įgyvendinimą, naudosime ją pavyzdinėje programoje ir iš jos išspausdinsime failų pavadinimų sąrašą. Listdir() funkcijos įgyvendinimo dalį suskirstėme į šias dvi dalis:

  1. Failų pavadinimų spausdinimas iš esamo darbo katalogo
  2. Failų pavadinimų spausdinimas iš nurodyto kelio

Kiekvienai kategorijai naudosime pavyzdinę programą ir kiekvienam metodui gausime failų pavadinimus.

1 būdas: Failų pavadinimų spausdinimas iš dabartinio darbo katalogo:

Šiuo metodu mes atspausdinsime failų pavadinimų sąrašą iš esamo darbo katalogo, naudodami kitą OS modulio funkciją, ty funkciją getcwd (). Peržiūrėkite toliau pateiktą programos pavyzdį, kad suprastumėte šio metodo įgyvendinimą:

1 pavyzdys:

Pažvelkite į šią Python programą, kurioje naudojome os.listdir() metodą su kelio argumentu:

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

Išvestis:

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

Kaip matome, visų dabartiniame darbo kataloge esančių failų pavadinimai atspausdinami programos išvestyje.

Paaiškinimas:

oops sąvokos java

Importavę OS modulį į programą, mes panaudojome funkciją getcwd() norėdami gauti dabartinio darbo katalogo kelią. Mes inicijavome kintamąjį pavadinimu „pathSpecified“ ir šiame kintamajame išsaugojome dabartinio darbo katalogo kelią. Po to mes panaudojome funkciją listdir () kitame inicijuotame kintamajame, ty listOfFileNames, kad išsaugotume visų šio kintamojo failų pavadinimus. Mes pateikėme inicijuotą dabartinio darbo kelio kintamąjį kaip argumentą funkcijoje listdir () ir galiausiai išspausdinome visų pavadinimų sąrašą išvestyje naudodami spausdinimo teiginį.

Jei nenorime naudoti jokios kitos savo programos funkcijos, taip pat galime gauti visus failų pavadinimus iš dabartinio katalogo, kuriame yra programa. Mes tiesiog turime palikti funkciją listdir () užuot pateikę bet kokį katalogo kelią kaip argumentą, o po to programa, kai bus vykdoma, išvestyje pateiks visų dabartiniame kataloge esančių pavadinimų sąrašą. Peržiūrėkite toliau pateiktą programos pavyzdį, kad suprastumėte šio metodo įgyvendinimą:

2 pavyzdys:

Pažvelkite į šią Python programą, kurioje mes naudojome os.listdir() metodą be jokių argumentų:

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

Išvestis:

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

Kaip matome, visų dabartiniame faile, kuriame įdiegtas Python, esančių failų pavadinimų sąrašas išspausdinamas išvestyje, kai programa vykdoma.

python arba

Paaiškinimas:

Šioje programoje praleidome kelio parametrą ir vis tiek gauname visų dabartiniame darbiniame kataloge esančių failų pavadinimų sąrašą. Norėtume naudoti šį metodą, jei norime gauti visų failų pavadinimų sąrašą iš esamo darbo katalogo. Kadangi taikant šį metodą, mes neturime naudoti jokių argumentų ar apibrėžti jokio kelio kintamojo, todėl jis išsaugo bet kokią papildomą kodo eilutę mūsų programoje ir taupo mūsų laiką.

2 būdas: Failų pavadinimų spausdinimas iš nurodyto kelio:

Šiuo metodu galime gauti visų nurodytame kataloge esančių failų pavadinimų sąrašą, nurodydami nurodytą katalogo kelią funkcijos listdir () viduje. Katalogo kelią galime gauti iš failo savybių parinkties, tada tą patį failą galime naudoti programoje. Peržiūrėkite toliau pateiktą programos pavyzdį, kad suprastumėte šio metodo įgyvendinimą:

3 pavyzdys:

Pažvelkite į šią Python programą, kurioje naudojome os.listdir() metodą su kelio argumentu:

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

Išvestis:

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

Kaip matome, visų nurodytame kataloge esančių failų pavadinimai atspausdinami programos išvestyje.

Paaiškinimas:

Importavę os modulį į programą, pirmiausia apibrėžėme kelią katalogui, iš kurio norime spausdinti visų failų pavadinimų sąrašą inicijuodami kelio kintamąjį. Po to mes panaudojome inicijuotą kelio kintamąjį listdir () metodo viduje, kad galėtume naudoti kelią kaip funkcijos argumentą. Galiausiai spausdinimo teiginyje panaudojome kitą inicijuotą kintamąjį (listOfFileNames), kad išspausdintume rezultatą.

Išvada

Šioje pamokoje sužinojome apie OS modulio listdir() metodą ir supratome šios funkcijos svarbą. Sužinome apie šios funkcijos sintaksę, o po to – šios funkcijos naudojimo metodus. Galiausiai, norėdami suprasti kiekvieno metodo įgyvendinimą, panaudojome Python programą su funkcija listdir ().