首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用导入glob,os合并子目录?

如何使用导入glob,os合并子目录?
EN

Stack Overflow用户
提问于 2022-04-20 20:46:31
回答 1查看 30关注 0票数 1

试图制作一个程序来计算目录中所有唯一的文件,我确实设法让它只对顶级文件夹工作,我如何也能捕获子文件夹呢?

代码语言:javascript
运行
复制
import glob, os

psm = 0
prt = 0
asm = 0
dft = 0
os.chdir("Z:\TopFolder")

for file in glob.glob("*.asm"):
    asm += 1
print('Assemblies: ', asm)

for file in glob.glob("*.psm"):
    psm += 1
print('Sheet Metal Parts: ', psm)

for file in glob.glob("*.prt"):
    prt += 1
print('Regular Parts: ', prt)

for file in glob.glob("*.dft"):
    dft += 1
print('Drafts: ', dft)

total = psm+prt+asm+dft
print('Total unique files (No .PDF, .CFG or Docs: ', total)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 21:11:35

这是一个使用字典和os.walk的草图。

代码语言:javascript
运行
复制
import os

extensions = {
    ".asm": "Assemblies",
    ".dft": "Drafts",
    ".prt": "Regular Parts",
    ".psm": "Sheet Metal Parts",
}
count = {x: 0 for x in extensions.keys()}

for dirname, dirs, files in os.walk(r"Z:\TopFolder"):
    for file in files:
        for ext in count.keys():
            if file.endswith(ext):
                count[ext] += 1

total = 0
for ext in count.keys():
    print("%s: %i" % (extensions[ext], count[ext]))
    total += count[ext]
print("Total:", total)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71946018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档