python - 使用 Python 计算并打印子文件夹中的文件数

标签 python file count numbers

我的文件夹结构如下
文件夹A
文件夹 B1
文件夹B2
....
文件夹Bn

如何计算每个文件夹(文件夹 B1 - 文件夹 Bn)中的文件数量,检查文件数量是否大于给定限制并在屏幕上打印文件夹名称和其中的文件数量?

像这样:
包含太多文件的文件夹:
文件夹B3 101
文件夹B7 256

这是我到目前为止尝试过的方法。它遍历我的每个文件夹 B1 等中的每个子文件夹。我只需要一个级别的文件计数。

import os, sys ,csv
path = '/Folder A/'

outwriter = csv.writer(open("numFiles.csv", 'w')

dir_count = []

for root, dirs, files in os.walk(path):
    for d in dirs:
        a = str(d)
        count = 0
        for fi in files:
            count += 1
        y = (a, count)
        dir_count.append(y)

    for i in dir_count:
        outwriter.writerow(i)

然后我打印了 numFiles.csv。不是我想怎么做。 提前致谢!

最佳答案

因为都包含在那个文件夹中,所以你只需要搜索那个目录:

import os
path = '/Folder A/'
mn = 20
folders = ([name for name in os.listdir(path)
            if os.path.isdir(os.path.join(path, name)) and name.startswith("B")]) # get all directories 
for folder in folders:
    contents = os.listdir(os.path.join(path,folder)) # get list of contents
    if len(contents) > mn: # if greater than the limit, print folder and number of contents
        print(folder,len(contents)

关于python - 使用 Python 计算并打印子文件夹中的文件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26651712/

相关文章:

ruby-on-rails - 如何在 Ruby 中逐行将文本文件从网站导入数据库

php - 如何设置自定义错误消息 zend 表单元素文件?

python - 读取 csv 文件中的 n 个表以分隔 pandas DataFrame

sql - 使用 LEFT JOIN 的查询不返回计数为 0 的行

python - 计算字母在单词中出现的次数,并将其以以下格式:

sqlite - 为什么这个触发器不阻止在 sqlite 中插入行?

python - 从struct.pack打印出打包结果

python - 在 Django 管理中上传多张图片

python - Python 中的 %()s 是什么意思?

python - BeautifulSoup - urllib.error.HTTPError : HTTP Error 403: Forbidden