logo

Метод Python os.listdir().

Цілком можливо, що ми стикалися з такою кількістю випадків у нашому житті, коли ми хотіли знати, скільки і які файли присутні в каталозі (папці). Або іноді нам потрібно шукати файл, і ми знаємо його назву, але не знаємо, у якій папці він присутній. У цьому випадку єдиний варіант, який нам залишається, — це шукати файл у каталозі призначення.

Багатьом із нас це здається таким легким; нам просто потрібно зайти в каталог і подивитися там. Це можливий варіант, але він працюватиме лише тоді, коли у цьому каталозі буде лише менша кількість файлів. Лише тоді ми можемо відвідати цей каталог вручну та шукати наявні там файли. Але що у випадку, коли велика кількість файлів, скажімо так, тисячі файлів, присутніх у каталозі призначення. У цьому випадку цей параметр не працюватиме, оскільки пошук певного файлу в каталозі призначення, де присутні тисячі файлів, займе дуже багато часу (навіть багато днів). Здається, що нам слід робити, якщо нам потрібно знайти файл із його назвою в каталозі, що містить тисячі файлів.

Ми можемо шукати назву через файловий провідник, але якщо ми це зробимо, це також займе багато часу, не так, як у попередньому варіанті, але так, багато часу. Це пов’язано з тим, що файловий провідник скануватиме кожен файл, присутній у каталозі, і нам доводиться довго чекати, поки завершиться повне сканування диска.

Але що, якщо ми скажемо, що ми вже надали імена всіх файлів, присутніх у цільовому каталозі або шляху. Тоді нам буде дуже легко перевірити, чи цей файл присутній у цільовому шляху, і він також показує, де нам потрібно отримати імена всіх файлів, присутніх у каталозі призначення.

Якщо нам надається список імен усіх файлів, присутніх у каталозі, у текстовій формі, нам просто потрібно ввести назву цього конкретного файлу в рядок пошуку. І тоді навряд чи знадобиться секунда, щоб дізнатися, чи присутній файл у списку імен чи ні. Таким чином, ми можемо зрозуміти, наскільки важливо мати метод, за допомогою якого ми можемо надрукувати список імен усіх файлів, присутніх у каталозі чи шляху.

Python надає нам такі методи, за допомогою яких ми можемо друкувати список імен, і одним із таких методів є функція listdir() модуля 'os'. Ми збираємося вивчити цей метод listdir() у цьому підручнику та використати його в програмі Python для друку списку імен усіх файлів, присутніх у вказаному шляху.

ітератор java для карти

os.listdir() Метод у Python

Функція listdir() — це функція, яка надається модулем os, і за допомогою цієї функції ми можемо надрукувати список імен усіх файлів, присутніх у вказаному шляху. Метод listdir() також можна використовувати, якщо ми хочемо надрукувати список файлів, присутніх у поточному робочому каталозі (де присутня програма). Ми можемо використовувати метод listdir() кожного разу, коли нам потрібно отримати імена всіх файлів, присутніх у вказаному каталозі.

Синтаксис функції os.listdir():

Нижче наведено синтаксис для використання функції listdir() з модуля os:

 >> os.listdir(pathSpecified) 

Параметри:

Як ми можемо бачити в наведеному вище синтаксисі, ми надали лише аргумент всередині методу listdir(). Функція listdir() приймає такий параметр шляху:

    pathSpecified:Тут змінна pathSpecified представляє шлях до цільового каталогу, звідки ми хочемо дізнатися назви всіх файлів. Це необов’язковий аргумент у функції listdir(), і якщо ми не вкажемо вказаний шлях усередині функції, вона виведе всі імена файлів із поточного робочого каталогу.

Тип повернення:

Тип повернення для функції listdir() — «список», оскільки вона повертає список імен усіх файлів, наявних у вказаному каталозі.

os.listdir() Метод: Реалізація:

Щоб зрозуміти роботу та реалізацію функції listdir(), ми використаємо її у прикладі програми та надрукуємо з неї список імен файлів. Ми розділили частину реалізації функції listdir() на такі дві частини:

  1. Друк імен файлів із поточного робочого каталогу
  2. Друк імен файлів із зазначеного шляху

Ми використаємо приклад програми для кожної категорії та отримаємо імена файлів у кожному методі.

Спосіб 1. Друк імен файлів із поточного робочого каталогу:

У цьому методі ми роздрукуємо список імен файлів із поточного робочого каталогу за допомогою іншої функції модуля os, тобто функції getcwd(). Перегляньте наступний приклад програми, щоб зрозуміти реалізацію цього методу:

приклад 1:

Подивіться на наступну програму Python, де ми використовували метод os.listdir() з аргументом path:

сортувати масив java
 # 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) 

Вихід:

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

Як ми бачимо, назви всіх файлів, наявних у нашому поточному робочому каталозі, друкуються у вихідних даних програми.

Пояснення:

Після імпортування модуля os у програму ми використали функцію getcwd(), щоб отримати шлях до поточного робочого каталогу. Ми ініціалізували змінну з назвою 'pathSpecified' і зберегли шлях до поточного робочого каталогу в цій змінній. Після цього ми використали функцію listdir() в іншій ініціалізованій змінній, тобто listOfFileNames, щоб зберегти імена всіх файлів у цій змінній. Ми надали ініціалізовану змінну для поточного робочого шляху як аргумент у функції listdir(), і, нарешті, ми надрукували список усіх імен у виводі за допомогою оператора print.

Якщо ми не хочемо використовувати жодну іншу функцію в нашій програмі, тоді ми також можемо отримати всі імена файлів із поточного каталогу, у якому присутня програма. Нам просто потрібно залишити функцію listdir() замість того, щоб надавати шлях до будь-якого каталогу як аргумент, і після цього програма під час виконання видасть список усіх імен, присутніх у поточному каталозі, як результат у виводі. Перегляньте наступний приклад програми, щоб зрозуміти реалізацію цього методу:

приклад 2:

Подивіться на наступну програму Python, де ми використали метод os.listdir() без будь-яких аргументів:

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

Вихід:

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

Як ми бачимо, список імен усіх файлів, присутніх у поточному файлі, де інстальовано Python, друкується у вихідних даних після виконання програми.

для циклу в c

Пояснення:

У цій програмі ми опустили параметр path і все одно отримали список імен усіх файлів, присутніх у поточному робочому каталозі. Ми віддамо перевагу використанню цього методу, якщо хочемо отримати список імен усіх файлів із поточного робочого каталогу. Тому що в цьому методі нам не потрібно використовувати жодних аргументів або визначати будь-яку змінну шляху, і, таким чином, він зберігає додатковий рядок коду в нашій програмі та економить наш час.

Спосіб 2: Друк імен файлів із указаного шляху:

У цьому методі ми можемо отримати список імен усіх файлів, присутніх у вказаному каталозі, вказавши вказаний шлях до каталогу у функції listdir(). Ми можемо отримати шлях до каталогу з параметра властивостей файлу, а потім можемо використовувати той самий файл у програмі. Перегляньте наступний приклад програми, щоб зрозуміти реалізацію цього методу:

приклад 3:

Подивіться на наступну програму Python, де ми використовували метод os.listdir() з аргументом 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) 

Вихід:

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

Як ми бачимо, назви всіх файлів, наявних у вказаному каталозі, друкуються у вихідних даних програми.

Пояснення:

Після імпортування модуля os у програму ми спочатку визначили шлях до каталогу, з якого ми хочемо надрукувати список усіх імен файлів, ініціалізувавши змінну шляху. Після цього ми використали ініціалізовану змінну шляху всередині методу listdir(), щоб використовувати шлях як аргумент у функції. Нарешті, ми використали іншу ініціалізовану змінну (listOfFileNames) всередині оператора print, щоб вивести результат у вивід.

Висновок

У цьому посібнику ми дізналися про метод listdir() модуля os і зрозуміли важливість цієї функції. Ми дізнаємося про синтаксис цієї функції, а після цього ми дізнаємося про методи її використання. Насамкінець ми використали програму Python із функцією listdir(), щоб зрозуміти реалізацію кожного методу.