os.listdir()列出数据文件,但相应的断言失败

时间:2019-01-29 11:40:21

标签: python assertion python-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 个答案:

答案 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()不会递归检查子文件夹。