0
点赞
收藏
分享

微信扫一扫

飞腾D2000+FPGA云终端,实现从硬件、操作系统到应用的完全国产、自主、可控

gy2006_sw 2024-06-02 阅读 9

1.请实现一个装饰器,每次调用函数时,将函数名字以及调用此函数的时间点写入文件中

import time

def log(func):

    def wrapper(*args,**kwargs):

        ret = func(*args,**kwargs)

        with open("HomeWork/log.text","r+") as f :

            f.write(f"调用函数:{func.__name__},时间:{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))}\n")

    return wrapper


 

@log

def read():

    print("yes")


 

if __name__ == "__main__":

    read()

2.编写一个装饰器,每执行一个函数,记录函数名称及函数执行时间,并写入log.text文件中

import time

def log(func):

    def wrapper(*args, **kwargs):

        start_time = time.time()

        result = func(*args, **kwargs)

        end_time = time.time()

        execution_time = end_time - start_time

        with open("HomeWork/log.text","r+") as file:

            log_message = f"Function '{func.__name__}' executed in {execution_time} seconds\n"

            file.write(log_message)

        return result

    return wrapper

@log

def read():

    time.sleep(1)

    print("Function executed")


 

if __name__ == "__main__":

    read()

3.使用with语法完成文件的复制

with open("HomeWork/5.text","r+") as f1,open("HomeWork/sss.text","r+")  as f2:

    f1.write(f2.read())

4.完成登录系统,登录时数据使用序列化和反序列化

import io

import pickle

salt = "futao"

f = open("HomeWork\\userinfo.text","r+")

user = f.readline()

user = user[0:len(user)-1]

pwd =f.readline()

us = pickle.dumps(user)

pw = pickle.dumps(pwd)



 

# #验证登录成功的函数

def is_login(username,password):

    #2.验证

    #自定添加其他验证,比如去除空格,是否为空等等

    if username == us and password == pw:

        return True

    else:

        return False


 

if __name__ == "__main__":

    username1 = input("请输入用户名:")

    password1 = input("请输入密码:")

    username = pickle.dumps(username1)

    password = pickle.dumps(password1)

    print(username)

    print(password)

    print("登录成功" if is_login(username,password) else"登录失败")

举报

相关推荐

0 条评论