题一:利用装饰器来计算函数的执行时间
代码:
import timedef decorated(fn):def inner():a = time.time() # func开始的时间 time.time记录时间fn()b = time.time() # func结束的时间print(f"{fn.__name__}程序运行的总数时间:{b - a}秒")#fn.__name__ 获取执行的函数名 return inner@decorated
def func():time.sleep(2) #防止函数执行速度太快,使程序先睡眠两秒后在执行print("王者荣耀")func()
运行结果:
王者荣耀
func程序运行的总数时间:2.006941795349121秒
题目二:给出一个路径,遍历当前路径所有文件和文件夹,打印出所有的文件(遇到文件输出路径,如果遇到的文件夹继续遍历文件夹)
import os
#导入 Python 内置的 os 模块,用于操作操作系统相关的功能from os import path
#从 os 模块中导入 path 子模块,用于处理文件路径相关的操作def scanner_file(url):
#定义一个名为 scanner_file 的函数,该函数接受一个参数 url,表示文件夹路径files = os.listdir(url)
#使用 os 模块的 listdir() 函数获取指定路径下的所有文件和文件夹,并将其存储在 files 变量中。try:
#增加权限for f in files:
#遍历 files 列表中的每个元素,使用变量 f 来表示当前元素real_path = path.join(url,f)
#使用 path 子模块的 join() 函数将文件夹路径 url 和当前文件或文件夹的名称 f 连接起来,生成完整的路径,并将其存储在 real_path 变量中。if path.isfile(real_path):
#使用 path 子模块的 isfile() 函数判断 real_path 是否是一个文件。print(path.abspath(real_path))
#将 real_path 转换为绝对路径,并将其打印输出。elif path.isdir(real_path):
#如果 real_path 不是一个文件,而是一个文件夹,则执行下面的代码块scanner_file(real_path)
#递归调用 scanner_file() 函数,传入当前文件夹的路径 real_path,继续扫描该文件夹。except:passscanner_file("C:\\Users\\杨俊杰\\Desktop\\云计算-python")