我有以下代码引发断言错误。 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('..')
答案 0 :(得分:0)
断言错误源于行
assert 'data' in os.listdir(PATH_TO_FOLDER)
如果该行是故意的,则断言失败仅是因为您的'data'
目录中没有名为PATH_TO_FOLDER
的目录或文件。
答案 1 :(得分:0)
我在问您'data' in os.listdir(PATH_TO_FOLDER)
语句的计算结果。这返回了False。
知道这一点,我可以告诉您,assert
可以正常工作。断言是布尔表达式,取决于您的语句'data' in os.listdir(PATH_TO_FOLDER)
是True还是False。如果为True,则什么也不会发生,并且您的代码将跳到下一行。如果为False,则引发AssertionError
。断言旨在检查是否满足某些先决条件。
回到您的问题:如果您确定路径正确并且在那里有一个名为data
的文件夹,则错误将不再发生。另外请注意,os.listdir()
不会递归检查子文件夹。