Python——案例

题一:利用装饰器来计算函数的执行时间

代码:

import time

def 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:
        pass

scanner_file("C:\\Users\\杨俊杰\\Desktop\\云计算-python")

你可能感兴趣的:(python,学习,笔记)