python-入门实战(四)

#假如我们有一个目录里面包含若干个文件和子目录:

#问题1:我们要统计该目录下有多少个文件并显示出来(包含子目录)

#问题2:该目录总共的大小可以按M,也可以按K显示

#问题3:该目录下最大的文件和最小的文件,以及对应的大小

import os
import os.path

def findFile(path):
	num = 0
	maxsize = 0
	maxpath = ''
	for parent,dirnames,filenames in os.walk(path):
		for filename in filenames:
		  num = num +1
		  
		  print(filename)
  
	print("一共有",num,"个文件")
def getsize(path):
 size = 0

 for parent,dirnames,filenames in os.walk(path):
			size += sum([os.path.getsize(os.path.join(parent, name)) for name in filenames])
           
 print("Total size is: %.3f Mb"%(size/1024/1024))
def get_min_and_max(rootdir):
	files = {}
	for path,dirnames,filenames in os.walk(rootdir):
		for filename in filenames:
			filepath = os.path.join(path,filename)

			filesize = os.path.getsize(filepath)
			files[filename] = filesize 	
	minsize = min(size for size in files.values())
	minflie = [f for f , s in files.items() if s == minsize]
	for file in minflie:
		print("最小文件是:",minflie,end=' ')	  
  
	print("大小为%.2f mb"%(minsize/1024/1024))

	maxsize = max(size for size in files.values())
	maxflie = [f for f , s in files.items() if s == maxsize]
	for file in maxflie:
		print("最小文件是:",maxflie,end=' ')	    
	print("大小为%.2f mb"%(maxsize/1024/1024))
rootdir = '/Users/lu-zyr/Desktop/未命名文件夹'
findFile(rootdir)
getsize(rootdir)
get_min_and_max(rootdir) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值