龙空技术网

Python|1秒检查完100个文本文件行数

爱玩的安哥 493

前言:

现时小伙伴们对“python文件总行数”都比较重视,同学们都想要了解一些“python文件总行数”的相关内容。那么小编在网摘上收集了一些对于“python文件总行数””的相关知识,希望大家能喜欢,朋友们快快来了解一下吧!

今天有个小需求,要检查近百个以01.txt为结尾的文本文件中的行数,都需要是3行才行。手工检查容易出错,速度还慢,脚本处理之。

完整代码

import osimport recwd=os.getcwd()res=os.listdir(cwd)# print(res)find_one = Falsefor index, filename in enumerate(res):    if  re.search('01.txt$',filename):        physical_filename = os.path.join(cwd, filename)        with open(physical_filename,'r',encoding='utf8') as f:            lines = f.readlines()            if len(lines) != 3:                find_one = True                print(filename)if not find_one:    print('所有*01.txt文件检查完毕')

简单解释下,前两句是导入os, re模块,os模块中有很多目录相关函数,re是正则表达式的模块。

os.getcwd()用来获取当前目录名称os.listdir(cwd)列出指定目录下的所有文件名称

使用for语句来对所有的文件名进行循环,注意要使用enumerate(res)

正则匹配

使用re.search就可以搜索指定的字符串,第一个参数是正则匹配表达式,第二个参数是要搜索的字符串:

re.search('01.txt$',filename)
打开文件

找到以01.txt为结尾的文本文件,然后使用open函数打开这个文件,模式为只读'r', 指定了encoding = 'utfi8',也就是以utf8的编码方式打开文本文件(所有文本文件均是以utf8保存的)之后使用行读取来读取所有行数:

逐行读取

lines = f.readlines()

之后判断下行数为3即可,使用len函数获取数量:

 if len(lines) != 3
搞定

标签: #python文件总行数 #python3逐行读取 #python读文件尾行数 #python输出文件总行数txt