logo

Metoda Python os.listdir().

Este foarte posibil să fi întâlnit atâtea cazuri în viața noastră în care dorim să știm câte și ce fișiere sunt prezente într-un director (dosar). Sau, uneori trebuie să căutăm un fișier și îi știm numele, dar nu știm în ce folder este prezent. În acest caz, singura opțiune care ne rămâne este să căutăm fișierul în directorul de destinație.

Acum, s-ar părea atât de ușor pentru mulți dintre noi să gândim; trebuie doar să mergem la director și să ne uităm acolo. Aceasta este o opțiune posibilă, dar această opțiune va funcționa numai atunci când avem doar un număr mai mic de fișiere prezente în acel director. Abia atunci putem vizita manual acel director și căutăm fișierele prezente acolo. Dar, ce în cazul în care un număr mare de fișiere, să spunem doar mii de fișiere prezente în directorul de destinație. În acest caz, această opțiune nu va funcționa deoarece va dura foarte mult (chiar și multe zile) pentru a căuta dacă un anumit fișier este prezent în directorul de destinație unde sunt prezente mii de fișiere. Se pare că ar trebui să facem dacă trebuie să găsim un fișier cu numele său într-un director care conține mii de fișiere.

Putem căuta numele prin exploratorul de fișiere, dar dacă facem asta, va dura și mult timp, nu ca în opțiunea anterioară, dar da, mult timp. Acest lucru se datorează faptului că exploratorul de fișiere va scana prin fiecare fișier prezent în director și trebuie să așteptăm atât de mult până când scanarea completă a discului este finalizată.

Dar dacă spunem că am furnizat deja numele tuturor fișierelor prezente în directorul sau calea de destinație. Apoi, ne va fi foarte ușor să verificăm dacă acel fișier specificat este prezent în calea vizată și, de asemenea, arată de unde trebuie să obținem numele tuturor fișierelor prezente în directorul de destinație.

Dacă ni se oferă o listă cu numele tuturor fișierelor prezente într-un director sub formă de text, trebuie doar să introducem numele acelui fișier specific în bara de căutare. Și, apoi, nu va dura o secundă pentru a afla dacă fișierul este prezent sau nu în lista de nume. Astfel, putem înțelege că cât de important este să avem o metodă prin care să putem tipări lista de nume a tuturor fișierelor prezente într-un director sau cale.

Python ne oferă astfel de metode în care putem tipări lista de nume, iar o astfel de metodă este funcția listdir() a modulului „os”. Vom învăța această metodă listdir() în acest tutorial și vom folosi aceasta într-un program Python pentru a tipări o listă cu numele tuturor fișierelor prezente în calea specificată.

bfs vs dfs

os.listdir() Metoda în Python

Funcția listdir() este o funcție furnizată de modulul os și, folosind această funcție, putem tipări o listă cu numele tuturor fișierelor prezente în calea specificată. Metoda listdir() poate fi folosită și dacă dorim să tipărim lista fișierelor prezente în directorul de lucru curent (unde este prezent programul). Putem folosi metoda listdir() ori de câte ori ni se cere să obținem numele tuturor fișierelor prezente într-un director specificat.

Sintaxă pentru funcția os.listdir():

Mai jos este sintaxa pentru utilizarea funcției listdir() din modulul os:

 >> os.listdir(pathSpecified) 

Parametri:

După cum putem vedea în sintaxa de mai sus, am dat doar un argument în cadrul metodei listdir(). Funcția listdir() ia următorul parametru cale:

    cale specificată:Aici, variabila pathSpecified reprezintă calea directorului vizat de unde dorim să știm numele tuturor fișierelor. Acesta este un argument opțional în funcția listdir() și dacă nu furnizăm o cale specificată în interiorul funcției, atunci va tipări toate numele fișierelor din directorul de lucru curent.

Tip de returnare:

Tipul de returnare pentru funcția listdir() este „list”, deoarece returnează o listă cu numele tuturor fișierelor prezente în directorul specificat.

os.listdir() Metodă: Implementare:

Pentru a înțelege funcționarea și implementarea funcției listdir(), o vom folosi într-un exemplu de program și vom tipări lista de nume de fișiere din acesta. Am împărțit partea de implementare a funcției listdir() în următoarele două părți:

  1. Imprimarea numelor de fișiere din directorul de lucru curent
  2. Imprimarea numelor de fișiere din calea specificată

Vom folosi un exemplu de program pentru fiecare categorie și vom obține numele fișierelor în fiecare metodă.

Metoda 1: Imprimarea numelor fișierelor din directorul de lucru curent:

În această metodă, vom tipări lista de nume de fișiere din directorul de lucru curent folosind o altă funcție a modulului os, adică funcția getcwd(). Priviți următorul exemplu de program pentru a înțelege implementarea acestei metode:

Exemplul 1:

Uitați-vă la următorul program Python în care am folosit metoda os.listdir() cu argument cale:

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

Ieșire:

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

După cum putem vedea, numele tuturor fișierelor prezente în directorul nostru de lucru actual sunt tipărite în rezultatul programului.

Explicaţie:

După importarea modulului os în program, am folosit funcția getcwd() pentru a obține calea directorului de lucru curent. Am inițializat o variabilă cu numele „pathSpecified” și am stocat calea directorului de lucru curent în această variabilă. După aceea, am folosit funcția listdir() într-o altă variabilă inițializată, adică listOfFileNames, pentru a stoca numele tuturor fișierelor din această variabilă. Am furnizat variabila inițializată pentru calea de lucru curentă ca argument în funcția listdir() și, în sfârșit, am tipărit lista tuturor numelor din ieșire folosind o instrucțiune print.

Dacă nu dorim să folosim nicio altă funcție din programul nostru, atunci putem obține și toate numele fișierelor din directorul curent în care este prezent programul. Trebuie doar să lăsăm funcția listdir() în loc să furnizăm calea oricărui director ca argument, iar după aceea, programul, când este executat, va oferi lista tuturor numelor prezente în directorul curent ca rezultat în rezultat. Priviți următorul exemplu de program pentru a înțelege implementarea acestei metode:

modelul tcp și ip

Exemplul 2:

Uitați-vă la următorul program Python în care am folosit metoda os.listdir() fără niciun 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) 

Ieșire:

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

După cum putem vedea, o listă cu numele tuturor fișierelor prezente în fișierul curent în care este instalat Python este tipărită în ieșire după ce programul este executat.

un milion în cifre

Explicaţie:

În acest program, am omis parametrul cale și încă obținem lista cu numele tuturor fișierelor prezente în directorul de lucru curent. Vom prefera să folosim această metodă dacă dorim să obținem lista cu numele tuturor fișierelor din directorul de lucru curent. Deoarece în această metodă, nu trebuie să folosim niciun argument sau să definim vreo variabilă de cale și astfel salvează orice linie suplimentară de cod în programul nostru și ne economisește timp.

Metoda 2: Imprimarea numelor fișierelor din calea specificată:

În această metodă, putem obține lista de nume ale tuturor fișierelor prezente într-un director specificat, furnizând calea specificată a directorului în interiorul funcției listdir(). Putem obține calea directorului din opțiunea de proprietăți a fișierului și apoi putem folosi același fișier în program. Priviți următorul exemplu de program pentru a înțelege implementarea acestei metode:

Exemplul 3:

Uitați-vă la următorul program Python în care am folosit metoda os.listdir() cu argument cale:

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

Ieșire:

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

După cum putem vedea, numele tuturor fișierelor prezente în directorul specificat sunt tipărite în rezultatul programului.

Explicaţie:

După importarea modulului os în program, am definit mai întâi calea directorului de unde dorim să tipărim lista tuturor numelor de fișiere prin inițializarea unei variabile cale. După aceea, am folosit variabila cale inițializată în cadrul metodei listdir() pentru a folosi calea ca argument în funcție. În cele din urmă, am folosit o altă variabilă inițializată (listOfFileNames) în interiorul instrucțiunii print pentru a imprima rezultatul în ieșire.

Concluzie

Am aflat despre metoda listdir() a modulului os în acest tutorial și am înțeles importanța acestei funcții. Învățăm despre sintaxa acestei funcții, iar după aceea, învățăm metodele de utilizare a acestei funcții. În sfârșit, am folosit programul Python cu funcția listdir() pentru a înțelege implementarea fiecărei metode.