Поиск файлов в Python может стать проблемой, если расположение файла в разных системах различается. К счастью, Python предоставляет модуль os.walk, который позволяет вам легко перемещаться по каталогам и находить файлы.
os.walk для поиска файлов
os.walk создает генератор объект, который перебирает каталог и его подкаталоги, получая три кортежа для каждой итерации:
Поиск одного файла
Чтобы найти первое вхождение определенного файла, просто переберите полученные кортежи и проверьте, соответствует ли имя файла в списке файлов:
import os
def find(name, path):
for root, dirs, files in os.walk(path):
if name in files:
return os.path.join(root, name)
Поиск всех вхождений файла
Чтобы найти все вхождения файла, создайте список для хранения совпадений :
def find_all(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return result
Соответствие шаблонам файлов
Для поиска файлов, соответствующих шаблону, используйте модуль fnmatch:
import os, fnmatch
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
find('*.txt', '/path/to/dir')
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3