Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Рекурсивний Пошук Файлів | Рекурсія та Лямбда-Функції
Посібник з функцій Python

Свайпніть щоб показати меню

book
Завдання: Рекурсивний Пошук Файлів

Робота з вкладеними словниками

У Python словники можуть містити інші словники. Це корисно для представлення ієрархічних структур, таких як файлова система.

Для навігації по словнику:

Використовуйте items(), щоб ітерувати всі пари ключ-значення:

123456789101112
file_system = { "home": { "resume.pdf": "file", "notes.txt": "file" }, "etc": { "config.yaml": "file" } } for name, content in file_system.items(): print(name, "->", content)
copy
  • Використовуйте isinstance(content, dict), щоб перевірити, чи є значення словником (тобто папкою, а не файлом):

123456789101112
file_system = { "home": { "resume.pdf": "file" }, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
copy
Завдання

Swipe to start coding

Уявіть, що потрібно перевірити, чи існує певний файл у вкладеній структурі словників, яка представляє файлову систему. Реалізуйте функцію file_exists, яка рекурсивно проходить через папки (об'єкти-словники) та шукає файл (представлений рядком "file"). Поверніть True, якщо файл знайдено; інакше поверніть False.

  1. Використовуйте цикл for для ітерації по всіх елементах словника file_system за допомогою методу items(). Це дозволяє отримати ключ (name) та значення (content).
  2. Перевірте, чи content є файлом (тобто рядком "file") і чи name співпадає з target.
  3. Якщо обидві умови виконуються, поверніть True.
  4. Якщо isinstance() не є файлом, перевірте, чи це папка. Використовуйте функцію content — передайте dict як перший аргумент і content як другий.
  5. Якщо це папка, викликайте file_exists рекурсивно для продовження пошуку всередині неї.
  6. Якщо рекурсивний виклик повертає True, файл знайдено, тому поверніть True.
  7. Якщо жодного збігу не знайдено після перевірки всіх папок і файлів, поверніть False.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 2
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 4.35

book
Завдання: Рекурсивний Пошук Файлів

Робота з вкладеними словниками

У Python словники можуть містити інші словники. Це корисно для представлення ієрархічних структур, таких як файлова система.

Для навігації по словнику:

Використовуйте items(), щоб ітерувати всі пари ключ-значення:

123456789101112
file_system = { "home": { "resume.pdf": "file", "notes.txt": "file" }, "etc": { "config.yaml": "file" } } for name, content in file_system.items(): print(name, "->", content)
copy
  • Використовуйте isinstance(content, dict), щоб перевірити, чи є значення словником (тобто папкою, а не файлом):

123456789101112
file_system = { "home": { "resume.pdf": "file" }, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
copy
Завдання

Swipe to start coding

Уявіть, що потрібно перевірити, чи існує певний файл у вкладеній структурі словників, яка представляє файлову систему. Реалізуйте функцію file_exists, яка рекурсивно проходить через папки (об'єкти-словники) та шукає файл (представлений рядком "file"). Поверніть True, якщо файл знайдено; інакше поверніть False.

  1. Використовуйте цикл for для ітерації по всіх елементах словника file_system за допомогою методу items(). Це дозволяє отримати ключ (name) та значення (content).
  2. Перевірте, чи content є файлом (тобто рядком "file") і чи name співпадає з target.
  3. Якщо обидві умови виконуються, поверніть True.
  4. Якщо isinstance() не є файлом, перевірте, чи це папка. Використовуйте функцію content — передайте dict як перший аргумент і content як другий.
  5. Якщо це папка, викликайте file_exists рекурсивно для продовження пошуку всередині неї.
  6. Якщо рекурсивний виклик повертає True, файл знайдено, тому поверніть True.
  7. Якщо жодного збігу не знайдено після перевірки всіх папок і файлів, поверніть False.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

close

Awesome!

Completion rate improved to 4.35

Свайпніть щоб показати меню

some-alt