Чтобы получить все файлы из нескольких каталогов в Python, вы можете использовать различные методы. Вот несколько подходов:
- os.walk(): функция
os.walk()позволяет перебирать все каталоги и подкаталоги по заданному пути. Вы можете использовать его для получения списка всех файлов в этих каталогах. Вот пример:
import os
def get_files(directory):
file_list = []
for root, dirs, files in os.walk(directory):
for file in files:
file_list.append(os.path.join(root, file))
return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)
- glob.glob(): модуль
globпредоставляет удобный способ получения путей к файлам с использованием сопоставления с образцом. Вы можете указать несколько каталогов или использовать подстановочные знаки для соответствия определенным типам файлов. Вот пример:
import glob
def get_files(directory):
file_list = []
pattern = directory + '//*' # Recursive search in all subdirectories
files = glob.glob(pattern, recursive=True)
for file in files:
if os.path.isfile(file):
file_list.append(file)
return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)
- pathlib.Path.glob(): если вы используете Python 3.4 или новее, вы можете использовать модуль
pathlib, который обеспечивает объектно-ориентированный подход для работы с путями к файлам. Методglob()позволяет искать файлы по шаблонам. Вот пример:
from pathlib import Path
def get_files(directory):
file_list = []
path = Path(directory)
files = path.glob('/*')
for file in files:
if file.is_file():
file_list.append(str(file))
return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)
Эти методы дадут вам список всех файлов в указанных каталогах. Вы можете изменить их в соответствии с вашими требованиями.