我有以下代码引发断言错误。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('..')
断言错误源于该行
assert 'data' in os.listdir(PATH_TO_FOLDER)
'data'
如果该行是故意的,则断言失败只是因为您的目录中不存在任何目录或文件PATH_TO_FOLDER
。
我在问你该声明的'data' in os.listdir(PATH_TO_FOLDER)
评估结果。这返回了 False。
知道这一点,我可以告诉你,assert
按预期工作。断言是布尔表达式,取决于你的陈述'data' in os.listdir(PATH_TO_FOLDER)
是真还是假。如果它是 True,那么什么都不会发生,您的代码会跳到下一行。如果为 False,则引发AssertionError
. 断言旨在检查是否满足某些先决条件。
回到你的问题:如果你确保你的路径是正确的并且你有一个在那里调用的文件夹,那么错误就会停止发生data
。另请注意,os.listdir()
它不会递归检查子文件夹。