os.listdir() выводит список файлов данных, но соответствующее утверждение не выполняется

У меня есть следующий код, который выдает ошибку подтверждения. os.listdir() перечисляет мои файлы данных, но все еще есть ошибка подтверждения.

import os
PATH_TO_FOLDER = 'LOCAL PATH TO MY DATA'
assert 'data' in os.listdir(PATH_TO_FOLDER)
import sys
sys.path.append('..')

2 ответа

Решение

Я тебя спрашивал к чему заявление 'data' in os.listdir(PATH_TO_FOLDER) оценивает до. Это вернуло Ложь.

Зная это, я могу вам сказать, assert работает как задумано. Утверждения являются логическими выражениями, в зависимости от того, является ли ваше утверждение 'data' in os.listdir(PATH_TO_FOLDER) Это правда или ложь. Если это True, то ничего не происходит, и ваш код переходит на следующую строку. Если Ложь, это поднимает AssertionError, Утверждения предназначены для проверки выполнения определенных предварительных условий.

Возвращаясь к вашей проблеме: ошибка прекратится, если вы убедитесь, что ваш путь правильный, и у вас есть папка с именем data там. Также обратите внимание, что os.listdir() не проверяет подпапки рекурсивно.

Ошибка подтверждения происходит из строки

assert 'data' in os.listdir(PATH_TO_FOLDER)

Если эта строка является преднамеренной, утверждение не выполняется просто потому, что не существует каталога или файла с именем 'data' в вашем PATH_TO_FOLDER каталог.

Другие вопросы по тегам