python编写文件统计脚本
python编写文件统计脚本
思路:用os模块中的一些函数(os.listdir()、os.path.isdir()、os.path.join()、os.path.abspath()等)
实现功能:显示多级目录,以及自己要找的具体文件类型(例:以".py"结尾的文件),并读取每个文件的第一行(一般为注释说明,这样就能大致了解这个文件是干事什么的)
先编写二级目录文件统计脚本
代码如下:
#文件统计
os.chdir("F:\\pythonstudy")
for fp in os.listdir():
if os.path.isdir(fp):
print(os.path.join("f:\\pythonstudy",fp))
for f in os.listdir(fp):
if f.endswith(".py"):
print("\t",os.path.abspath(f)) #打印f的绝对路径
with open(fp+"\\"+f,encoding="utf-8") as f1:
print("\t",f1.readline()) #读取第一行
运行效果如下:

如何实现多级目录中文件的统计呢,这里用函数的递归调用方式来实现
代码如下:
#文件统计
def sfile(dir,layer=1):
print(" "*(layer-1)+dir)
for fp in os.listdir(dir):
nf=os.path.join(dir,fp)
if os.path.isdir(nf):
sfile(nf,layer+1)
else:
if nf.endswith(".py"): #统计以".py"结尾的文件
print(" "*layer+nf,end="\t"*(5-layer)) #layer是为了美观,对整齐
layer是
为了美观,layer是 with open(nf,encoding="utf-8") as f1: print(f1.readline().strip()) sfile("f:\\sss")
运行效果如下:

上图可以看到实现了多级目录中统计".py"结尾的文件,并打印出每个文件的第一行。
如果想统计图片只需要简单的修改就好
def sfile(dir,layer=1):
print(" "*(layer-1)+dir)
for fp in os.listdir(dir):
nf=os.path.join(dir,fp)
if os.path.isdir(nf):
sfile(nf,layer+1)
else:
if nf.endswith(".jpg"):
print(" "*layer+nf,end="\t"*(5-layer)) sfile("f:\\sss")
运行效果如下:

注:想统计整个盘符下的某种文件类型,命令提示符(cmd)需要管理员权限,不然会提示拒绝访问
!!!!未解决问题:如何实现统计"F盘"中所有的jpg文件,但不显示(打印)目录中没有jpg文件的路径,只显示目录中有jpg文件的路径
本人脑袋要爆炸了,实在想不出,有想法的博友,给点意见
python编写文件统计脚本的更多相关文章
- python编写DDoS攻击脚本
python编写DDoS攻击脚本 一.什么是DDoS攻击 DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的, ...
- 一个python的文件对比脚本
脚本主要用来给游戏客户端做热更的. 处理方式就是针对每个文件求其MD5值,再根据文件的目录和名字对比两个版本的MD5值,如果不一样,则这次热更就需要更新这个文件. 用法很简单. 1,生成MD5码列表 ...
- python编写定时执行脚本
前几天在抓博客园文章,打算每天抓10条最新的,所以就在脚本中加了定时让它在每天凌晨四点中时执行,但是昨天发现,报错了: 显示是远程主机强制关闭了一个链接, 原因是:mysql数据库默认当连续8小时不对 ...
- Python编写abaqus后处理脚本(学习笔记)
本节内容参考自书籍<Python语言在Abaqus中的应用>,注意:以下代码为伪代码,仅供参考 1.导入必要的模块,加载后处理odb文件 from abaqus import * from ...
- Python 中文文件统计词频 + 中文词云
1. 词频统计: import jieba txt = open("threekingdoms3.txt", "r", encoding='utf-8').re ...
- python编写shell脚本详细讲解
python编写shell脚本详细讲解 那,python可以做shell脚本吗? 首先介绍一个函数: os.system(command) 这个函数可以调用shell运行命令行command并且返回它 ...
- 使用 Python 编写脚本并发布
使用 Python 编写脚本并发布 P1: 脚本 通常在 Linux 服务器上会遇到在命令行中输入命令的操作,而有些操作包含的命令数目较多或者其中的命令包含的参数较多,如果一个一个的敲命令的话就太麻烦 ...
- python编写网络抓包分析脚本
python编写网络抓包分析脚本 写网络抓包分析脚本,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件 Ethereal自带许多协议的 ...
- Python大法之告别脚本小子系列—信息资产收集类脚本编写(下)
作者:阿甫哥哥 原文来自:https://bbs.ichunqiu.com/article-1618-1.html 系列文章专辑:Python大法之告别脚本小子系列目录: 0×05 高精度字典生成脚本 ...
随机推荐
- ARM 汇编指令 DCD
简介 DCD:数据定义( Data Definition )伪指令 一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化. 语法格式: 标号 DCD(或 DCDU) 表达式 DCD(或 ...
- [转][Angularjs]$http.post与$.post
本文转自:https://www.cnblogs.com/wolf-sun/p/6878868.html 摘要 在angularjs发送post请求的时候,确实很困惑,在传递json数据的时候,总会遇 ...
- 从dm_exec_query_stats系统表查询耗时的SQL语句
语句示例: s2.dbid , s1.total_worker_time / s1.execution_count AS [Avg CPU Time] , ( , ( ( THEN ( LEN(CON ...
- 将汉字转化为拼音的js插件
/*---------------------------------------------------------------- // 文件名:chinese2pinyin.js // 文件功能描 ...
- [日常] HTTP的媒体类型
HTTP的媒体类型 1.MIME类型的数据格式标签(MultIpurpose Internet Mail Extension) 2.最初用于电子邮件系统之间搬移,多用途互联网邮件扩展 3.MIME类型 ...
- python进程间通信
Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信. 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个 ...
- crontab命令行和日志查看
1.基本命令行模式 注意:非root用户 systemctl restart crond 失效,请使用最底层的驱动重启 2.crontab日志 cron日志保存在系统目录/var/log/cron 命 ...
- javascript对象与方法
对象与方法 一.数组(Array) 1.使用new关键字创建数组 var box = new Array(); //创建了一个数 ...
- K8S 调度器,预选策略,优选函数
Kubernetes Scheduler 提供的调度流程分三步: 预选策略(predicate) 遍历nodelist,选择出符合要求的候选节点,Kubernetes内置了多种预选规则供用户选择. 优 ...
- SpringBoot设置文件上传大小限制--默认为1M
SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeL ...