![python编写文件统计脚本,第1张 python编写文件统计脚本,第1张](/aiimages/python%E7%BC%96%E5%86%99%E6%96%87%E4%BB%B6%E7%BB%9F%E8%AE%A1%E8%84%9A%E6%9C%AC.png)
概述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文件的路径本人脑袋要爆炸了,实在想不出,有想法的博友,给点意见
<div >
os.chdir( fp (os.path.join( f f.endswith((,os.path.abspath(f)) with open(fp++f,enCoding=(,f1.readline()) @H_403_63@运行效果如下:
如何实现多级目录中文件的统计呢,这里用函数的递归调用方式来实现
代码如下:
sfile(dir,layer=1( *(layer-1)+ fp =+1 nf.endswith(( *layer+nf,end=*(5-@H_403_63@layer是@H_403_63@=)@H_403_63@运行效果如下:
上图可以看到实现了多级目录中统计".py"结尾的文件,并打印出每个文件的第一行。
如果想统计图片只需要简单的修改就好
sfile(dir,layer+1 nf.endswith(( *layer+nf,end=*(5-sfile(<span >"<span >f:\sss<span >")@H_403_63@运行效果如下:
总结 以上是内存溢出为你收集整理的python编写文件统计脚本全部内容,希望文章能够帮你解决python编写文件统计脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)