统计指定目录的大小
# 统计指定目录的大小
import os
# 声明一个空list接收所有文件的大小
file_list = []
def getFileSize(path):
'''
统计文件大小函数
:param path: 要统计的目录
:return: 返回指定目录的大小
'''
# 获取指定文件夹中的所有文件和文件夹
files = os.listdir(path)
# print(files)
# 遍历文件夹
for file in files:
# 给遍历的文件/文件夹加路径
f = os.path.join(path, file)
# 判断是否是文件
if os.path.isfile(f): # 如果是文件直接获取文件的大小并添加进文件大小列表
file_size = os.path.getsize(f)
file_list.append(file_size)
elif os.path.isdir(f): # 如果是文件夹,递归调用本身
getFileSize(f)
# 统计总的大小
# print(sum(file_list))
return sum(file_list)
# 测试函数
statistics_dir = input("输入您要统计文件的路径:").strip()
print("您的文件大小为:%s" % getFileSize(statistics_dir))
请设计一个装饰器,它可以作用于任何函数上,打印函数执行时间
import time
def metric(fn):
def timer(*args, **kwargs):
# 记录函数开始时间
start_time = time.time()
# 执行测试得函数
fn()
# 记录函数结束得时间
end_time = time.time()
# 打印消耗的时间
print(("耗时:{:.4f}s".format((end_time - start_time))))
return timer
# 测试
@metric
def test():
sum = 0
for i in range(1, 10100000):
sum = sum + i
print(sum)
if __name__ == '__main__':
test()