logo

Python os.listdir() metode

Pilnīgi iespējams, ka savā dzīvē esam saskārušies ar tik daudziem gadījumiem, kad vēlamies zināt, cik un kādi faili atrodas direktorijā (mapē). Vai arī dažreiz mums ir jāmeklē fails, un mēs zinām tā nosaukumu, bet mēs nezinām, kurā mapē tas atrodas. Tādā gadījumā mums vienīgā iespēja ir meklēt failu mērķa direktorijā.

Tagad daudziem no mums šķiet tik viegli domāt; mums vienkārši jāiet uz direktoriju un jāskatās tur. Šī ir iespējama opcija, taču šī opcija darbosies tikai tad, ja šajā direktorijā ir tikai mazāks failu skaits. Tikai tad mēs varam manuāli apmeklēt šo direktoriju un meklēt tajā esošos failus. Bet ko darīt, ja galamērķa direktorijā ir liels failu skaits, pieņemsim, ka tūkstošiem failu. Tādā gadījumā šī opcija nedarbosies, jo būs nepieciešams ļoti ilgs laiks (pat daudzas dienas), lai meklētu, vai mērķa direktorijā, kurā atrodas tūkstošiem failu, atrodas konkrēts fails. Šķiet, kas mums jādara, ja mums jāatrod fails ar tā nosaukumu direktorijā, kurā ir tūkstošiem failu.

Mēs varam meklēt nosaukumu, izmantojot failu pārlūku, bet, ja mēs to darīsim, tas arī prasīs daudz laika, nevis kā iepriekšējā opcijā, bet jā, daudz laika. Tas ir tāpēc, ka failu pārlūks skenēs visus direktorijā esošos failus, un mums ir jāgaida tik ilgi, līdz tiks pabeigta diska skenēšana.

Bet ko darīt, ja sakām, ka esam jau norādījuši visu galamērķa direktorijā vai ceļā esošo failu nosaukumus. Pēc tam mums būs ļoti viegli pārbaudīt, vai norādītais fails atrodas mērķa ceļā, un tas arī parāda, kur mums jāiegūst visu mērķa direktorijā esošo failu nosaukumi.

Ja mums tiek dots visu direktorijā esošo failu nosaukumu saraksts teksta formā, mums vienkārši jāievada šī konkrētā faila nosaukums meklēšanas joslā. Un tad diez vai vajadzēs sekundi, lai noskaidrotu, vai fails ir vai nav vārdu sarakstā. Tādējādi mēs varam saprast, cik ļoti svarīga ir metode, kurā mēs varam izdrukāt visu direktorijā vai ceļā esošo failu nosaukumu sarakstu.

Python piedāvā šādas metodes, kurās mēs varam izdrukāt vārdu sarakstu, un viena no šādām metodēm ir 'os' moduļa funkcija listdir(). Šajā apmācībā mēs apgūsim šo listdir () metodi un izmantosim to Python programmā, lai izdrukātu visu norādītajā ceļā esošo failu nosaukumu sarakstu.

baitu masīvs uz virkni

os.listdir() metode Python

Funkcija listdir () ir funkcija, ko nodrošina OS modulis, un, izmantojot šo funkciju, mēs varam izdrukāt visu norādītajā ceļā esošo failu nosaukumu sarakstu. listdir() metodi var izmantot arī tad, ja vēlamies izdrukāt pašreizējā darba direktorijā (kur atrodas programma) esošo failu sarakstu. Mēs varam izmantot metodi listdir () ikreiz, kad mums ir jāiegūst visu noteiktā direktorijā esošo failu nosaukumi.

Funkcijas os.listdir() sintakse:

Tālāk ir norādīta OS moduļa funkcijas listdir() izmantošanas sintakse:

 >> os.listdir(pathSpecified) 

Parametri:

Kā redzams iepriekš norādītajā sintaksē, mēs esam devuši argumentu tikai metodes listdir () ietvaros. Funkcija listdir () aizņem šādu ceļa parametru:

    norādītais ceļš:Šeit mainīgais pathSpecified apzīmē mērķa direktorija ceļu, no kura mēs vēlamies uzzināt visu failu nosaukumus. Šis ir neobligāts arguments funkcijā listdir (), un, ja funkcijā nenorādīsim norādīto ceļu, tā izdrukās visus failu nosaukumus no pašreizējā darba direktorija.

Atgriešanas veids:

Funkcijas listdir () atgriešanas veids ir 'saraksts', jo tā atgriež visu norādītajā direktorijā esošo failu nosaukumu sarakstu.

os.listdir() Metode: Ieviešana:

Lai izprastu funkcijas listdir() darbību un ieviešanu, mēs to izmantosim programmas paraugā un izdrukāsim no tās failu nosaukumu sarakstu. Mēs esam sadalījuši funkcijas listdir() ieviešanas daļu šādās divās daļās:

  1. Failu nosaukumu drukāšana no pašreizējā darba direktorija
  2. Failu nosaukumu drukāšana no norādītā ceļa

Katrai kategorijai izmantosim programmas piemēru un iegūsim failu nosaukumus katrā metodē.

1. metode. Failu nosaukumu drukāšana no pašreizējā darba direktorija:

Izmantojot šo metodi, mēs izdrukāsim failu nosaukumu sarakstu no pašreizējā darba direktorija, izmantojot citu OS moduļa funkciju, t.i., funkciju getcwd (). Apskatiet šo programmas piemēru, lai izprastu šīs metodes ieviešanu:

1. piemērs:

Apskatiet šo Python programmu, kurā mēs izmantojām os.listdir() metodi ar ceļa 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) 

Izvade:

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

Kā redzam, visu mūsu pašreizējā darba direktorijā esošo failu nosaukumi tiek izdrukāti programmas izvadē.

Paskaidrojums:

Pēc OS moduļa importēšanas programmā esam izmantojuši funkciju getcwd(), lai iegūtu pašreizējā darba direktorija ceļu. Mēs esam inicializējuši mainīgo ar nosaukumu 'pathSpecified' un saglabājuši pašreizējā darba direktorija ceļu šajā mainīgajā. Pēc tam mēs esam izmantojuši funkciju listdir () citā inicializētajā mainīgajā, t.i., listOfFileNames, lai saglabātu visu šajā mainīgajā esošo failu nosaukumus. Mēs esam nodrošinājuši inicializētu mainīgo pašreizējam darba ceļam kā argumentu funkcijā listdir () un, visbeidzot, mēs izdrukājām visu izvadā esošo nosaukumu sarakstu, izmantojot drukāšanas paziņojumu.

Ja mēs nevēlamies savā programmā izmantot nevienu citu funkciju, mēs varam iegūt arī visus failu nosaukumus no pašreizējā direktorija, kurā programma atrodas. Mums vienkārši ir jāatstāj funkcija listdir (), nevis kā arguments jānorāda jebkura direktorija ceļš, un pēc tam programma, kad tā tiks izpildīta, izvadā sniegs visu pašreizējā direktorijā esošo nosaukumu sarakstu. Apskatiet šo programmas piemēru, lai izprastu šīs metodes ieviešanu:

2. piemērs:

Apskatiet šo Python programmu, kurā mēs izmantojām metodi os.listdir() bez argumentiem:

java dubultā līdz virknei
 # 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) 

Izvade:

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

Kā redzam, pēc programmas izpildes izvadē tiek izdrukāts visu to failu nosaukumu saraksts, kas atrodas pašreizējā failā, kurā ir instalēts Python.

10 no 40

Paskaidrojums:

Šajā programmā mēs esam izlaiduši ceļa parametru un joprojām saņemam visu pašreizējā darba direktorijā esošo failu nosaukumu sarakstu. Mēs izvēlēsimies izmantot šo metodi, ja vēlamies iegūt visu failu nosaukumu sarakstu no pašreizējā darba direktorija. Tā kā šajā metodē mums nav jāizmanto nekādi argumenti vai jādefinē neviens ceļa mainīgais, un tādējādi tā saglabā jebkuru papildu koda rindiņu mūsu programmā un ietaupa mūsu laiku.

2. metode: failu nosaukumu drukāšana no norādītā ceļa:

Izmantojot šo metodi, mēs varam iegūt visu norādītajā direktorijā esošo failu nosaukumu sarakstu, funkcijā listdir () norādot norādīto direktorijas ceļu. Mēs varam iegūt direktorija ceļu no faila rekvizītu opcijas, un pēc tam mēs varam izmantot to pašu failu programmā. Apskatiet šo programmas piemēru, lai izprastu šīs metodes ieviešanu:

3. piemērs:

Apskatiet šo Python programmu, kurā mēs izmantojām os.listdir() metodi ar ceļa 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) 

Izvade:

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

Kā redzam, visu norādītajā direktorijā esošo failu nosaukumi tiek izdrukāti programmas izvadē.

Paskaidrojums:

Pēc OS moduļa importēšanas programmā mēs vispirms esam definējuši direktorijas ceļu, no kura vēlamies izdrukāt visu failu nosaukumu sarakstu, inicializējot ceļa mainīgo. Pēc tam mēs izmantojām inicializēto ceļa mainīgo metodi listdir (), lai izmantotu ceļu kā argumentu funkcijā. Visbeidzot, drukāšanas priekšrakstā mēs izmantojām citu inicializētu mainīgo (listOfFileNames), lai izdrukātu rezultātu.

Secinājums

Šajā apmācībā mēs uzzinājām par OS moduļa metodi listdir () un sapratām šīs funkcijas nozīmi. Mēs uzzinām par šīs funkcijas sintaksi, un pēc tam mēs apgūstam šīs funkcijas lietošanas metodes. Visbeidzot, mēs izmantojām Python programmu ar funkciju listdir (), lai izprastu katras metodes ieviešanu.