os.listdir() 列出数据文件但相应断言失败
os.listdir() lists data files but the corresponding assertion fails
我有以下代码会引发断言错误。 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)
如果该行是故意的,断言将失败,因为在您的 PATH_TO_FOLDER
目录中不存在名为 'data'
的目录或文件。
我问的是 'data' in os.listdir(PATH_TO_FOLDER)
语句的计算结果。这返回了 False。
知道这一点后我可以告诉你,assert
按预期工作。断言是布尔表达式,取决于您的语句 'data' in os.listdir(PATH_TO_FOLDER)
是 True 还是 False。如果它是 True,则什么也不会发生,您的代码将跳到下一行。如果为 False,它会引发 AssertionError
。断言旨在检查是否满足某些先决条件。
回到您的问题:如果您确保您的路径正确并且那里有一个名为 data
的文件夹,则错误将停止发生。另请注意,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('..')
断言错误源于行
assert 'data' in os.listdir(PATH_TO_FOLDER)
如果该行是故意的,断言将失败,因为在您的 PATH_TO_FOLDER
目录中不存在名为 'data'
的目录或文件。
我问的是 'data' in os.listdir(PATH_TO_FOLDER)
语句的计算结果。这返回了 False。
知道这一点后我可以告诉你,assert
按预期工作。断言是布尔表达式,取决于您的语句 'data' in os.listdir(PATH_TO_FOLDER)
是 True 还是 False。如果它是 True,则什么也不会发生,您的代码将跳到下一行。如果为 False,它会引发 AssertionError
。断言旨在检查是否满足某些先决条件。
回到您的问题:如果您确保您的路径正确并且那里有一个名为 data
的文件夹,则错误将停止发生。另请注意,os.listdir()
不会递归检查子文件夹。