Python遍历统计目录下txt文件和docx文件行数

札记:在日常工作或学习中,如果想知道自己累计写了多少行代码时,对每个文档进行手动统计即可,不过一旦文档有很多个,或者只想统计文档里面有标记的部分,那么用程序去实现就比较省事了。

一.解决思路

首先遍历当前目录下所有文件和子目录下的所有文件,拿到所有文件的路径数据,这一步可以通过Python的os.walk()方法去实现;然后遍历每个文件的路径,逐个打开文件并统计代码行数,打开txt文件可以通过open()方法实现,打开docx文件可以通过docx.Document()方法实现,最后打印结果。

二.实战步骤

2.1 统计txt文件所有行数

count_all_for_txt.py

import os

count = 0  #用于统计所有文件总行数

for root,dirs,files in os.walk(r"D:\test"): #遍历指定路径下所有子目录和文件

    for file in files:

        filepath = os.path.join(root,file)  #生成文件的绝对路径

        filename,format = os.path.splitext(filepath)

        if format == ".txt":                #对txt文本文件做统计

            fp = open(filepath,'r',encoding = 'utf-8')

            

            for i in fp:                    #遍历当前.txt文件对象的每一行,统计+1

                count += 1

            fp.close()                      #关闭打开的文件

            print("文件《%s》已完成统计,累计行数为:%s行" %(file,count))

print("所有文件统计段落数为:%s行" %count)  #打印全部统计结果

思路:

1通过os.walk()方法拿到正在访问的目录路径(root)、当前目录下的子目录名列表(dirs)、当前目录下的文件名列表(files);

2根据第1步获取的数据,遍历文件名列表(files),通过os.path.join()生成每个文件的绝对路径;

3根据第2步获取的文件路径,通过open()方法生成文件对象,然后遍历文件对象并统计;

4所有文件遍历完后,打印统计结果

---注意---#运行代码前把"D:\test"改成需要统计的目录即可

效果图:

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值