Как распечатать список файлов Python в каталоге и подкаталогах

Python имеет модуль ОС, который предоставляет функции для управления файлами. Мы можем программно перечислить файлы в каталоге и подкаталоге в Python с помощью модуля ОС. В этой статье мы обсудим различные методы создания списка всех файлов в дереве каталогов.

Печать списка файлов Python

Давайте распечатаем все файлы, перечисленные в нашем текущем рабочем каталоге.

Сначала вам нужно импортировать модуль os в свой файл, а затем использовать os. listdir () .

Напишите следующий код внутри app.py файл.

 # app.pyimport osprint (os.listdir (path = '.')) 

Вывод

 python3 app.py ['index.html', 'demo.txt', '.DS_Store', 'person  .txt ',' app.json ',' DataScience.ipynb ',' ads.txt ',' example.http ',' student.csv ',' app.txt ',' __pycache__ ',' data.csv ',  app.component.ts, data.json, help_examples.py, MergeSort.java, app.sql, NumPy.ipynb, TensorFlow.ipynb, data.csv.numbers  ',' app.py ',' info.log ',' .ipynb_checkpoints ',' SciKit Learn.ipynb ',' .vscode ',' app  .rs ',' mod.py ',' output.txt ',' data.txt ',' sample.txt ',' app.cpp '] 

Получить список файлов в каталоге и подкаталогах с помощью os.listdir ()

Нам нужно рекурсивно вызвать функцию os.listdir () для подкаталогов, чтобы создать полный список файлов в заданном дерево каталогов.

См. следующий код.

 # app.pyimport osdef getFiles  (dirName): listOfFile = os.listdir (dirName) completeFileList = list () для файла в listOfFile: completePath = os.path.join (dirName, file), если os.path.isdir (completePath): completeFileList = completeFileList + getFiles (  completePath) else: completeFileList.append (completePath) return completeFileListdirName = '/Users/krunal/desktop/code/pyt'listOfFiles = getFiles (dirName) print (listOfFiles) 

Вывод

 python3 app.py ['/Users/krunal/desktop/code/pyt/index.html', '/Users/krunal/desktop/code/pyt/demo.txt  ','/Users/krunal/desktop/code/pyt/.DS_Store ','/Пользователь  s/krunal/desktop/code/pyt/person.txt ','/Users/krunal/desktop/code/pyt/app.json ','/Users/krunal/desktop/code/pyt/DataScience.ipynb ',' /Users/krunal/desktop/code/pyt/ads.txt ','/Users/krunal/desktop/code/pyt/example.http ','/Users/krunal/desktop/code/pyt/student.csv ',  '/Users/krunal/desktop/code/pyt/app.txt', '/Users/krunal/desktop/code/pyt/__pycache__/help_examples.cpython-36.pyc', '/Users/krunal/desktop/code/ pyt/__ pycache __/mod.cpython-36. pyc ','/Users/krunal/desktop/code/pyt/data.csv ','/Users/krunal/desktop/code/pyt/app.component.ts ','/Users/krunal/desktop/code/pyt /data.json ','/Users/krunal/desktop/code/pyt/help_examples.py ','/Users/krunal/desktop/code/pyt/MergeSort.java ','/Users/krunal/desktop/code/ pyt/app.sql ','/Users/krunal/desktop/code/pyt/NumPy.ipynb ','/Users/krunal/desktop/code/pyt/TensorFlow.ipynb ','/Users/krunal/desktop/code /pyt/data.csv.numbers ','/Users/krunal/desktop/code/pyt/app.py ','/Users/krunal/desktop/code/pyt/info.log ','/Users/krunal/ рабочий стол/код/​​pyt/.ipynb_checkpoints/NumPy-checkpoint.ipynb ','/Users/krunal/desktop/code/pyt/.ipynb_checkpoints/SciKit Learn-checkpoint.ipynb ','/Users/krunal/desktop/code/pyt /.ipynb_checkpoints/DataScience-checkpoint.ipynb ','/Users/krunal/desktop/code/pyt/.ipynb_checkpoints/TensorFlow-checkpoint.ipynb ','/Users/krunal/desktop/code/pyt/SciKit Learn.ipynb '  , '/Users/krunal/desktop/code/pyt/.vscode/settings.json', '/Users/krunal/desktop/code/pyt/app.rs', '/Users/kr  unal/desktop/code/pyt/mod.py ','/Users/krunal/desktop/code/pyt/output.txt ','/Users/krunal/desktop/code/pyt/data.txt ','/Users /krunal/desktop/code/pyt/sample.txt ','/Users/krunal/desktop/code/pyt/app.cpp '] 

В приведенном выше коде мы определили функцию вызывается getFiles (), который принимает один аргумент с именем

Затем мы создаем список и добавляем полный путь к файлам.

Итак, он начнет итерацию по одному файлу и добавит его полный путь в список, и в конце мы получим наш полный список файлов.

Как получить список файлов в каталоге и подкаталогах с помощью os.walk ()

Python Модуль os предоставляет функцию walk () для итерации по дереву каталогов.

 os.walk (path) 

Функция os.walk () выполняет итерацию каталога tree при указании пути, и для каждого каталога или подкаталога он возвращает кортеж, содержащий (

, , ).

См. следующий код.

 # app.pyimport osdirName = '/Users/krunal/desktop/code/pyt'listOfFiles = list () for (dirpath,  dirnames, filenames) в os.walk (dirName): listOfFiles + = [os.path.join (dirpath, file) для файла в именах файлов] для elem в listOfFiles: print (elem) 

Вывод

 python3 app.py/Users/krunal/desktop/code/pyt/index.html/Users/krunal/desktop/code/pyt/demo.txt /Users/krunal/desktop/code/pyt/.DS_Store/Users/krunal/desktop/code/pyt/person.txt/Users/krunal/desktop/code/pyt/app.json/Users/krunal/desktop/code/ pyt/DataScience.ipynb/Users/krunal/desktop/code/pyt/ads.txt/Users/krunal/desktop/code/pyt/example.http/Users/krunal/desktop/code/pyt/student.csv/Users/ Крунал/рабочий стол/код/​​pyt/приложение. txt/Users/krunal/desktop/code/pyt/data.csv/Users/krunal/desktop/code/pyt/app.component.ts/Users/krunal/desktop/code/pyt/data.json/Users/krunal/ рабочий стол/код/​​pyt/help_examples.py/Users/krunal/desktop/code/pyt/MergeSort.java/Users/krunal/desktop/code/pyt/app.sql/Users/krunal/desktop/code/pyt/NumPy.  ipynb/Users/krunal/desktop/code/pyt/TensorFlow.ipynb/Users/krunal/desktop/code/pyt/data.csv.numbers/Users/krunal/desktop/code/pyt/app.py/Users/krunal/ рабочий стол/код/​​pyt/info.log/Users/krunal/desktop/code/pyt/SciKit Learn.ipynb/Users/krunal/desktop/code/pyt/app.rs/Users/krunal/desktop/code/pyt/mod  .py/Users/krunal/desktop/code/pyt/output.txt/Users/krunal/desktop/code/pyt/data.txt/Users/krunal/desktop/code/pyt/sample.txt/Users/krunal/desktop /code/pyt/app.cpp/Users/krunal/desktop/code/pyt/__pycache__/help_examples.cpython-36.pyc/Users/krunal/desktop/code/pyt/__pycache__/mod.cpython-36.pyc/Users /krunal/desktop/code/pyt/.ipynb_checkpoints/NumPy-checkpoint.ipynb/Users/krunal/desktop/code/pyt/.ipynb_check  точки/SciKit Learn-checkpoint.ipynb/Users/krunal/desktop/code/pyt/.ipynb_checkpoints/DataScience-checkpoint.ipynb/Users/krunal/desktop/code/pyt/.ipynb_checkpoints/TensorFlow-checkpoint.ipynb/Users/krunal /desktop/code/pyt/.vscode/settings.json

См. следующий код.

 # app.pyimport globdirName = '/Users/krunal/desktop/code/pyt'files = [f вместо f в glob.glob (dirName + "*  */*. txt ", recursive = True)] для f в файлах: print (f) 

Output

 python3  app.py/Users/krunal/desktop/code/pyt/demo.txt/Users/krunal/desktop/code/pyt/person.txt/Users/krunal/desktop/code/pyt/ads.txt/Users/krunal/ рабочий стол/код/​​pyt/app.txt/Users/krunal/desktop/code/pyt/output.txt/Users/krunal/desktop/code/pyt/data.txt/Users/krunal/desktop/code/pyt/sample.  txt 

В приведенном выше примере мы использовали понимание списка, чтобы получить список всех файлов, в которых есть .txt.

Итак, в этом примере мы получаем только текстовые файлы, а не все файлы.

Список всех каталогов в указанном каталоге + подкаталоги (**)

См. Следующий код.

 # app.pyimport globdirName = '/Users /krunal/desktop/code/pyt'folders = [f для f в glob.glob (dirName + "**/", recursive = True)] для f в папках: print (f) 

Вывод

 python3 app.py/Users/krunal/desktop/code/pythonenv//Users/krunal/desktop/code/pyt/

Для перечисления каталогов, подкаталогов и файлов Python имеет отличную встроенную поддержку, которая сделает всю работу за вас. Управление и обработка файлов — это повседневные операции для любого программиста.

В этой статье мы увидели, как составить список всех каталогов, подкаталогов и файлов с помощью Python os.walk (), blob.blob () и метод Python os.listdir ().

Наконец, Python выводит список всех файлов в каталоге, и пример подкаталогов окончен.

См. также

Как читать файл в Python

Как писать файл в Python

Обработка файлов в Python

Оцените статью
nanomode.ru
Добавить комментарий