0

我有以下代码引发断言错误。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('..')
4

2 回答 2

0

断言错误源于该行

assert 'data' in os.listdir(PATH_TO_FOLDER)

'data'如果该行是故意的,则断言失败只是因为您的目录中不存在任何目录或文件PATH_TO_FOLDER

于 2019-01-29T11:44:36.043 回答
0

我在问你该声明的'data' in os.listdir(PATH_TO_FOLDER)评估结果。这返回了 False。

知道这一点,我可以告诉你,assert按预期工作。断言是布尔表达式,取决于你的陈述'data' in os.listdir(PATH_TO_FOLDER)是真还是假。如果它是 True,那么什么都不会发生,您的代码会跳到下一行。如果为 False,则引发AssertionError. 断言旨在检查是否满足某些先决条件。

回到你的问题:如果你确保你的路径是正确的并且你有一个在那里调用的文件夹,那么错误就会停止发生data。另请注意,os.listdir()它不会递归检查子文件夹。

于 2019-01-30T08:27:59.457 回答