zoukankan      html  css  js  c++  java
  • day03作业

    #一:选择合适的类型加以存储

    #1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
      log_file_path="C:acadhsvc.dll.system32"


    #2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
      file_info={"fname":"a.txt","size":"360"}


    #3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
      log_error="上传文件失败"


    #4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
      data_get="[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"


    #5、把服务端ip地址存放下来,ip地址为10.0.10.11
      ip="10.0.10.11"


    #6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
      time_sleep=3


    # 二:嵌套取值操作
    #1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
    请取出第一个学生的第一个爱好
      students_info[0][2][0]


    #2、针对字典
    info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
    'name':'Oldboy',
    'type':'education',
    'emp_num':40,
    }
    }
    请取出取公司名
      info["company_info"]["name"]

    #3、针对下述类型
    students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    取第二个学生的第二个爱好
      students[1]["hobbies"][1]

    #选做题:编写用户登录接口(学的多的同学,尝试做下述作业,这是截止到下周二学完文件处理之后的作业)
    #1、输入账号密码完成验证,验证通过后输出"登录成功"
    #2、可以登录不同的用户
    #3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
    #扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟

    目录树:

    ─day04
        │  
        │
        ├─user_info_db
        │  
        │
        ├─user_info_db_bak
        │
        │
        ├─用户登入.py

    代码:

    # -- coding: UTF-8 --
    import time
    
    flag=True
    count=1
    while flag:
        user_inpt=input("请输入账号:").strip("")
        user_pass=input("请输入密码:").strip()
        with open("user_info_db_bak", "r", encoding="utf-8") as f1:
            for line in f1:
                line = line.strip("
    ")
                line = line.split(":")
                if user_inpt == line[0] and line[2] == "3":
                    time.sleep(300)
                    with open("user_info_db", "r", encoding="utf-8") as f0, 
                            open("user_info_db_bak", "w", encoding="utf-8") as f1:
                        for line in f0:
                            line = line.strip("
    ")
                            line = line.split(":")
                            if user_inpt in line:
                                line[2] = "0"
                            f1.write("%s:%s:%s
    " % (line[0], line[1], line[2]))
    
        with open("user_info_db", "r", encoding="utf-8") as f0:
            for line in f0:
                line = line.strip("
    ")
                line = line.split(":")
                if user_inpt == line[0] and user_pass == line[1]:
                    print("登入成功。")
                    flag = False
                    break
    
            else:
                print("账号或密码错误,请重新输入。")
                with open("user_info_db_bak", "r", encoding="utf-8") as f1:
                    for line in f1:
                        line = line.strip("
    ")
                        line = line.split(":")
                        if user_inpt in line:
                            count=int(line[2])
                            count+=1
                
                with open("user_info_db", "r", encoding="utf-8") as f0, 
                        open("user_info_db_bak", "w", encoding="utf-8") as f1:
                    for line in f0:
                        line = line.strip("
    ")
                        line = line.split(":")
                        if user_inpt in line:
                            line[2]=str(count)
                        f1.write("%s:%s:%s
    " %(line[0],line[1],line[2]))
  • 相关阅读:
    开源高性能网络库Libevent的简介
    网络IO之阻塞、非阻塞、同步、异步总结【转】
    C语言20150620
    EF那点事
    SSO单点登录的实现原理是怎样的
    SQL索引器
    基础数学知识
    hibernate优化笔记(随时更新)
    JAVA中保留小数的多种方法
    Hibernate的session缓存和对象的四种状态
  • 原文地址:https://www.cnblogs.com/baicai37/p/12409096.html
Copyright © 2011-2022 走看看