Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果文件夹包含x个或更多文件,请使用该文件夹_Python - Fatal编程技术网

Python 如果文件夹包含x个或更多文件,请使用该文件夹

Python 如果文件夹包含x个或更多文件,请使用该文件夹,python,Python,我正在尝试使用os.walk查找目录中的所有文件和文件夹。然后,我只希望文件夹中有x个数量的文件 for root, dirs, files in os.walk(directory, topdown=False): for d in dirs: print(os.path.join(root, d)) + " directories" for fi in files: if fi >= 4:

我正在尝试使用os.walk查找目录中的所有文件和文件夹。然后,我只希望文件夹中有x个数量的文件

for root, dirs, files in os.walk(directory, topdown=False):
    for d in dirs:
        print(os.path.join(root, d)) +  "    directories"
        for fi in files:
            if fi >= 4:
                print(os.path.join(root, fi)) + "   these are files"

fi
将是当前文件夹中给定文件的名称(正如您的
print
声明所证明的);要查看该文件夹中有多少文件,请检查
文件的大小

您的代码缺少一个关键部分。您不需要计算条件中每个目录中文件的大小

您正在这样做:

if fi >= 4:
当您要执行此操作时:

if len(fi) >= 4:
此外,您需要注意每次迭代都会给您带来什么。在循环中,您继续迭代所有文件,我认为您要做的只是检查每个级别上有多少个文件。查看我的解决方案,了解代码中的错误

我运行了我这边的代码,它成功了。应该是这样的:

import os
for root, dirs, files in os.walk(directory):
    if len(files) >= 4:
        for f in files:
            print(os.path.join(root, f))

那么,您的代码有什么问题吗?很高兴听到!:)祝你好运,先生。一天比一天好,谢谢你一直关注我的问题