Автор оригинала: Pankaj Kumar.
Листинг каталогов Python
В этой статье мы посмотрим, как мы можем выполнить список каталогов Python. Это позволит нам перечислить все файлы и каталоги в текущем рабочем месте.
Часто. Мы можем захотеть быстро посмотреть на имена файлов и получить информацию, используя Python.
Давайте посмотрим, как мы можем сделать это быстро и легко!
1. Каталог каталогов Python с использованием OS.Listdir ()
Это короткий и сладкий метод для выполнения списка каталогов Python из вашего текущего каталога!
Это действительно одна линия. Не верь мне? Вот пример. Это относится к любой операционной системе, будь то Windows/Linux/MacOS.
import os print(os.listdir())
Пример выпуска
>>> import os >>> os.listdir() ['.bashrc', '.git', '.nvimrc', '.vimrc', '.xinitrc', '.zshrc', 'Autumn.jpg', 'README.md', 'config']
Это вернет список всех файлов и вложенных папок из текущего каталога.
Если вы хотите указать точный путь, вы можете просто передать его как аргумент для OS.Listdir (путь)
!
>>> os.listdir(r'/home/vijay/manjaro-dotfiles') ['.bashrc', '.git', '.nvimrc', '.vimrc', '.xinitrc', '.zshrc', 'Autumn.jpg', 'README.md', 'config']
Использовать Сырые строки (Строки с префиксом r
) Когда вы имеете дело с путями, поскольку вам не нужно избежать любых обратных челков (для прохождения Windows).
2. Используйте OS.Path.join () с OS.Listdir ()
Если вы хотите распечатать абсолютный путь всех файлов из текущего каталога, просто добавьте OS.Path.join ()
к OS.Listdir ()
Функция!
Мы сделаем функцию для этого, которая просто получает полный путь и возвращает список всех таких имен.
import os def list_full_paths(directory): return [os.path.join(directory, file) for file in os.listdir(directory)] print(list_full_paths(r'/home/accornition/manjaro-dotfiles'))
Выход
['/home/vijay/manjaro-dotfiles/.bashrc', '/home/vijay/manjaro-dotfiles/.git', '/home/vijay/manjaro-dotfiles/.nvimrc' , '/home/vijay/manjaro-dotfiles/.vimrc', '/home/vijay/manjaro-dotfiles/.xinitrc', '/home/vijay/manjaro-dotfiles/.zsh rc', '/home/vijay/manjaro-dotfiles/Autumn.jpg', '/home/vijay/manjaro-dotfiles/README.md', '/home/vijay/manjaro-dotfiles/config']
Действительно, это дает нам абсолютный путь, из корневого каталога!
3.PYPHON Directory Список с использованием OS.Walk ()
Мы также можем использовать Os.walk ()
Функция пройти через дерево каталога.
Затем мы можем распечатать каталоги и файлы индивидуально.
for top, dirs, files in os.walk(os.getcwd()): print("Printing directories...") for dir in dirs: print(os.path.join(top, dir)) print("Printing files....") for file in files: print(os.path.join(top, file))
Выход
Printing directories... /home/vijay/manjaro-dotfiles/config/cmus /home/vijay/manjaro-dotfiles/config/compton /home/vijay/manjaro-dotfiles/config/termite Printing files.... Printing directories... Printing files.... /home/vijay/manjaro-dotfiles/config/cmus/my.theme Printing directories... Printing files.... /home/vijay/manjaro-dotfiles/config/compton/compton.conf Printing directories... Printing files.... /home/vijay/manjaro-dotfiles/config/termite/config
Вы можете использовать любой из вышеупомянутых трех методов, в зависимости от вашего сценария использования.
Первый метод является самым простым и рекомендуемым, но если вы хотите полный путь, и хотите путешествовать рекурсивно, использовать Os.walk ()
Отказ
Заключение
В этой статье мы узнали, как мы могли бы перечислить файлы и каталоги в Python, используя разные методы.
Рекомендации
- Stackoverflow вопрос При списке содержимого из каталога