python2.7.3 统计某个文件夹下所有文件或者某个文件的行数
2014-03-07 11:03
691 查看
测试环境是 ubuntu 12.03
原理就是在遍历一个文件夹过程中, 把文件和行数加入到filelist这个字典中,同时用totallines记录总行数.
把文件夹加入到dirlist这个元组中 遍历这个元组中的所有文件夹,一旦遇到子文件夹,则把这个子文件夹继续加入到元组中.
所以这个元组实质上就是一个队列. 用递归的方法也可以做到.
代码不是很简洁,希望各位能指点指点
#coding=UTF-8 import os ,datetime print "" # basedir = '/home/lewiskyo/文档/pythonExer/' #手动输入主目录版本 使用的时候请注释掉上一行的basedir 不注释也可以 # PS: 输入的必须要是绝对路径 除非你查找的只是与这个文件同一目录下的文件 basedir = raw_input("Please input the main directionary or filename (input absolute path):\n") if os.path.isfile(basedir): lines = len(open(basedir,'rU').readlines()) print basedir+" : " + str(lines) +"\n" os._exit(0) if not os.path.isdir(basedir): print basedir + " is not a directionary\n" os._exit(0) list = os.listdir(basedir) totalLines = 0 filelist = {} dirlist = [ basedir] i = 0 #遍历所有文件夹 while i < len(dirlist): basedir = dirlist[i] list = os.listdir(basedir) #遍历当前文件夹下的所有文件以及文件夹 for j in range(0,len(list)): path = os.path.join(basedir,list[j]) #若然是文件则把文件名及其行数加入到filelist这个字典中 最后输出 if os.path.isfile( path) and ( not path.endswith("~")): #读取该文件的行数 包含空行 直到读到EOF lines = len(open(path,'rU').readlines()) filelist[path] = lines totalLines += lines #否则加入到dirlist这个字典中 注意这里不能直接用else 因为上一个判断是排除了以 "~" 结尾的文件 elif os.path.isdir(path): dirlist.append(path) i = i+1 #输出文件名以及行数 print "" for key in filelist: print '%s : %s' % (key,filelist[key]) print 'TotalLines: ' + str(totalLines) +"\n"
原理就是在遍历一个文件夹过程中, 把文件和行数加入到filelist这个字典中,同时用totallines记录总行数.
把文件夹加入到dirlist这个元组中 遍历这个元组中的所有文件夹,一旦遇到子文件夹,则把这个子文件夹继续加入到元组中.
所以这个元组实质上就是一个队列. 用递归的方法也可以做到.
代码不是很简洁,希望各位能指点指点
相关文章推荐
- Python读取系统文件夹内所有文件并统计数量
- 利用Foundation框架写的小程序统计文件(文件夹内文件)的所有行数(或统计字数)
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
- [原创]Python小工具 —— 计算 文件 或 文件夹及其所有子文件夹中所有文件 的 代码行数
- 算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
- Python:统计特定文件夹中,特定文件代码行数的小程序
- Python 多进程统计所有csv文件的行数
- python列举文件夹下所有文件行数
- C++ 一个统计文件夹下所有代码文件行数的小工具
- Python读取系统文件夹内所有文件并统计数量的方法
- python (9)统计文件夹下的所有文件夹数目,和统计文件夹下所有文件数目
- 算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
- 利用正则表达式统计某个某个文件夹下所有java文件的 空格行数、注释行数、和代码行数
- python3 计算文件夹中所有py文件里面代码行数,注释行数,空行数
- python列举文件夹下所有文件行数
- Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)
- Python :check大文件或者文件夹中所有文件MD5值
- 如何批量获得window中某个文件夹下的所有文件或者文件夹的名称
- UNIX命令,统计当前目录(含子目录)下所有后缀为.log的文件中ERROR出现的行数
- python 获取指定文件夹下所有文件名称并写入列表