Я создаю программу, которая требует знать файлы в рабочем каталоге ( текущий рабочий каталог ). Поэтому я сделал следующий код, который находит и подтверждает существование файла с именем arq_buscado
:
def encontrar_arq(arq_buscado, camino):
encontrado = False
# lista_arq = ls(camino) #función que lista todos los archivos de la ruta
for nome_arq in lista_arq:
if nome_arq == arq_buscado:
encontrado = True
return encontrado
Как я могу получить список всех файлов в папке в списке Python?
Есть разные способы получить все файлы в каталоге. Ниже показаны различные способы, все они возвращают список при вызове следующим образом:
Большая эффективность с
os.scandir()
- python-3.5Возвращает итератор объектам , которые содержат свойства файлов, что делает его более эффективным (например, вам не нужно делать дополнительный системный вызов, чтобы узнать, является ли объект файлом или каталогом).
Или, если вы хотите получить абсолютный путь к каждому файлу:
С библиотекой
pathlib
и ее основным классомPath
— python-3.4Он предлагает более высокий уровень согласованности между различными операционными системами без необходимости прямого обращения
os
, а также избегая многих системных вызовов.* спасибо kikocorreoso за ссылку и его статью о ювелирных изделиях .
Список всех каталогов и файлов с
listdir()
- python-2.x и python-3.xИли просто файлы :
Больше контроля с
os.walk()
— python-2.2 и python-3.xВы можете получить только файлы более компактным способом :
Или вы можете иметь больше контроля, если хотите, получая два списка ( каталоги и файлы )
И если вы также хотите получить файлы из всех подкаталогов , давайте повторим следующим образом:
Использование подстановочных знаков в
glob()
— python-2.x и python-3.xДля поиска файлов с использованием подстановочных знаков (
*
,?
,[seq]
и[!seq]
)Эта функция возвращает полный путь к каждому файлу.
Пример:
Найти файлы с регулярным выражением — python-2.2 и python-3.x
Пример:
Надеюсь, это поможет вам :)