Python 尝试列出目录的所有子目录时键入错误

Python 尝试列出目录的所有子目录时键入错误,python,python-3.x,Python,Python 3.x,我想列出一个目录的所有子目录,但它抛出类型错误 TRAIN_PATH_ARRAY=['New folder/train/'] TEST_PATH_ARRAY=['New folder/test/'] train_ids = next(os.walk(TRAIN_PATH_ARRAY))[1] test_ids = next(os.walk(TEST_PATH_ARRAY))[1] np.random.seed(10) 输出: TypeError回溯(最近一次调用上次) in ---->1列车

我想列出一个目录的所有子目录,但它抛出类型错误

TRAIN_PATH_ARRAY=['New folder/train/']
TEST_PATH_ARRAY=['New folder/test/']
train_ids = next(os.walk(TRAIN_PATH_ARRAY))[1]
test_ids = next(os.walk(TEST_PATH_ARRAY))[1]
np.random.seed(10)

输出: TypeError回溯(最近一次调用上次)

in
---->1列车ID=下一个(操作系统行走(列车路径数组))[1]
2 test_id=next(os.walk(test_PATH_数组))[1]
3 np.随机种子(10)
行走中的~\Anaconda3\lib\os.py(自上而下、自上而下、onerror、followlinks)
334
335     """
-->336顶部=fspath(顶部)
337目录=[]
338非利率=[]
TypeError:应为str、bytes或os.PathLike对象,而不是list


就像错误消息非常明确地说的那样,
os.walk()
的参数应该是
str
(或
pathlib
路径),而不是列表

现在还不清楚您希望代码实际完成什么。仅从
os.walk()
的第一个结果中提取第二个元素是不正确的,因为它返回一个相对于起始目录的文件名。但是如果这是您想要的,可以尝试

TRAIN\u PATH='New folder/TRAIN/'
TEST_PATH='New folder/TEST/'
train_id=[os.path.join(train_path,x)代表下一个(os.walk(train_path))[1])]
test_id=[os.path.join(test_path,x)for x in next(os.walk(test_path))[1])]
如果确实要遍历数组,恐怕您需要更详细地解释代码的意图。

错误是什么?请添加它,包括回溯。目前我猜您正在尝试将数组或列表馈送到,该数组或列表采用类似字符串或路径的对象。请参阅以供参考。说到最小值,d是什么oes
np.random.seed
与此有关吗?
<ipython-input-11-a1a31c46fb70> in <module>
----> 1 train_ids = next(os.walk(TRAIN_PATH_ARRAY))[1]
      2 test_ids = next(os.walk(TEST_PATH_ARRAY))[1]
      3 np.random.seed(10)

~\Anaconda3\lib\os.py in walk(top, topdown, onerror, followlinks)
    334 
    335     """
--> 336     top = fspath(top)
    337     dirs = []
    338     nondirs = []

TypeError: expected str, bytes or os.PathLike object, not list