ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储
1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
str1 = r'C:acadhsvc.dll.system32'
2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
list1 = ['a.txt',360]
3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
str2 = '上传文件失败'
4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
str3 = '[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据'
5、把服务端ip地址存放下来,ip地址为10.0.10.11
str4 = '10.0.10.11'
6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
time_num = 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分钟
答:(完整改进版)
import os,time
users = {'li':{'pwd':'123','count' : 0},'lx':{'pwd':'123','count' : 0}}
while True:
user_name = input('请输入账号:').strip()
user_pwd = input('请输入密码:').strip()
if user_name in users:
print('yes')
if os.path.exists('%s.text'%user_name):
with open('%s.text'%user_name,'r',encoding='utf-8') as f1:
time1 = f1.read()
if float(time1) <= time.time():
users[user_name]['count'] = 0
os.remove('%s.text'%user_name)
else:
print('该用户被锁定了')
continue
if user_pwd == users[user_name]['pwd']:
print('登录成功')
break
else:
users[user_name]['count'] += 1
print('登录失败,请重新登录')
print(users[user_name]['count'])
if users[user_name]['count'] == 3:
print('用户锁定五分钟')
with open('%s.text'%user_name,'w',encoding='utf-8') as f:
f.write(str(time.time() + 300))
users[user_name]['count'] += 1
continue
else:
print('没有该用户')