无法进入目录

时间:2019-11-21 18:57:19

标签: python-3.x jupyter spyder

for file in os.listdir(r'C:\Users\user\Downloads\plant_tomato_leaf_dataset\plantvillage'):
    for cl in os.listdir(r'C:\Users\user\Downloads\plant_tomato_leaf_dataset\plantvillage\\'+file):
        print(file)
        print(cl)
    print('******************')

我有一个文件夹“ plantvillage”。在那个文件夹中,我有10个文件夹。我必须访问所有子文件夹并在那些子文件夹项目上执行操作。但是此代码仅显示第一个文件夹中的项目

1 个答案:

答案 0 :(得分:2)

您可能对os.walk而不是os.listdir感兴趣。 listdir不是递归的。

一个例子是:

for root, dirs, files in os.walk(r'C:\Users\user\Downloads\plant_tomato_leaf_dataset\plantvillage'):
    for file in files:
        print(os.path.join(root,file))

这将使内部循环运行的次数与目录一样多,并且还将检查以确保每个文件实际上都是一个文件。如果您出于某种原因要查看目录本身(忽略文件),可以这样做:

for root, dirs, files in os.walk(r'C:\Users\user\Downloads\plant_tomato_leaf_dataset\plantvillage'):
    for directory in dirs:
        print(os.path.join(root,directory))

但不要尝试混合搭配。迭代文件时,获取当前目录很容易。只是root