python导出csv文件、统计每个出现的次数_Python将每个子目录中的文件数量输出到一个csv文件?...

import os

import csv

# Open the csv and write headers.

with open("Subject_Task_Count.csv",'wb') as out:

outwriter = csv.writer(out)

outwriter.writerow(['Directory','FilesInDir','FilesIncludingSubdirs'])

# Track total number of files in each subdirectory by absolute path

totals = {}

# topdown=False iterates lowest level (leaf) subdirectories first.

# This way I can collect grand totals of files per subdirectory.

for path,dirs,files in os.walk('.',topdown=False):

files_in_current_directory = len(files)

# Start with the files in the current directory and compute a

# total for all subdirectories, which will be in the `totals`

# dictionary already due to topdown=False.

files_including_subdirs = files_in_current_directory

for d in dirs:

fullpath = os.path.abspath(os.path.join(path,d))

# On my Windows system, Junctions weren't included in os.walk,

# but would show up in the subdirectory list. this try skips

# them because they won't be in the totals dictionary.

try:

files_including_subdirs += totals[fullpath]

except KeyError as e:

print 'KeyError: {} may be symlink/junction'.format(e)

totals[os.path.abspath(path)] = files_including_subdirs

outwriter.writerow([path,files_in_current_directory,files_including_subdirs])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值