我是靠谱客的博主 高贵发卡,最近开发中收集的这篇文章主要介绍Python计算一个目录下所有文件(包括子目录中所有文件)指定的文件类型个数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 输入工程名计算一个工程项目中C++,Java,Python,GO语言的文件个数,并找出Python文件中最大文件的文件名

1、先读取文件地址,找到该文件夹

import os
import os.path
path = 'C:/python学习/Python作业/' + input("请输入项目名:")

2、给这四个文件类型个数赋初始值,并创建两个列表分别存入某文件类型的文件大小和文件名(分开存放用于更明白理解)

cppnum = 0
javanum = 0
pynum = 0
gonum = 0
list_size = []
list_name = []

3、计算这四种文件类型的个数(并将Python文件的名字和大小存入列表)

for parentdir, dirname, filenames in os.walk(path):
for filename in filenames:
if os.path.splitext(filename)[1] == '.cpp':
cppnum = cppnum + 1
if os.path.splitext(filename)[1] == '.java':
javanum = javanum + 1
if os.path.splitext(filename)[1] == '.py':
pynum = pynum + 1
filesize = os.path.getsize(os.path.join(parentdir,filename))
list_size.append(filesize)
list_name.append(filename)
if os.path.splitext(filename)[1] == '.go':
gonum = gonum + 1

4、转化存入的文件大小(自定义一个函数)

def getsizename(size):
if (size > 1024*1024*1024.0):
numstr = str(size/(1024*1024*1024.0))
sizename = numstr[:(numstr.index('.')+3)]+'GB'
elif (size > 1024*1024.0):
numstr = str(size/(1024*1024.0))
sizename = numstr[:(numstr.index('.')+3)]+'MB'
elif (size > 1024.0):
numstr = str(size/1024.0)
sizename = numstr[:(numstr.index('.')+3)]+'KB'
else:
sizename = str(size) +'Bytes'
return sizename

5、输出结果(输出最大文件名,可先找到最大文件在列表中的地址,使用该地址即可找到对应的文件名)

size = max(list_size)
s = getsizename(size)
name = list_name[list_size.index(max(list_size))]
print("C++文件有",cppnum,"个")
print("Java文件有",javanum,"个")
print("Python文件有",pynum,"个")
print("Go文件有",gonum,"个")
print("其中最大的文件大小是",s)
print("这个最大的文件名是",name)

 

最后

以上就是高贵发卡为你收集整理的Python计算一个目录下所有文件(包括子目录中所有文件)指定的文件类型个数的全部内容,希望文章能够帮你解决Python计算一个目录下所有文件(包括子目录中所有文件)指定的文件类型个数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部