Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168&spm_id_from=pageDriver&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
第168-169讲:
1.记录用户登录日志
在这里插入图片描述
秒——年月日——转成想要的字符串格式:
在这里插入图片描述
重复登入几次,可以看出日志在更新:

在这里插入图片描述
因为写入时加了换行,那么打印的时候就不要再换行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为写了\t,所以会出现这样的制表效果,如果这种效果也不要,直接写成空字符串
在这里插入图片描述
在这里插入图片描述

import time
def show_info():
    print('输入提示数字,执行相应操作:0.退出 1.查看登录日志')

#记录日志
def write_logoininfo(username):
    with open('log.txt','a')as file:
        s=f'用户名{
      
      username},登录时间:{
      
      time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))}'
        file.write(s)
        file.write('\n')
#读取日志
def read_loginInfo():
    with open('log.txt','r')as file:
        while True:
            line=file.readline()
            if line=='':#读完了
                break
            else:
                print(line,end='')


if __name__ == '__main__':
    username=input('请输入用户名:')
    pwd=input('请输入密码:')
    if'admin'==username and 'admin'==pwd:
        print('登录成功!!!')
        write_logoininfo(username)#记录日志
        show_info()#提示用户执行操作
        num=int(input('输入操作数字:'))
        while True:
            if num==0:
                print('退出成功!')
                break
            elif num==1:
                print('查看登录日志:')
                read_loginInfo()#调用显示日志函数
                num = int(input('输入操作数字:'))
            else:
                print('您输入的数字有误')
                show_info()
                num = int(input('输入操作数字:'))
        else:
            print('对不起,用户名或者密码不正确!!!')

2.模拟淘宝客服自动回复
台词啥的为了节约时间我就一切从简了:

订单|订单问题登录淘宝账号查看订单详情
物流|物流问题登录淘宝账号查看详情
账户|账户问题请联系客服
支付|支付问题请联系支付宝客服

在这里插入图片描述
写完代码,运行报错:gbk’ codec can’t decode byte 0xae in position 15: illegal multibyte sequence
在这里插入图片描述
https://blog.csdn.net/mascotyak/article/details/109893793
在这里插入图片描述
编码改为Utf—8之后,问题解决。
在这里插入图片描述

def find_answer(question):
    with open('reply.txt','r',encoding='utf-8')as file:
        while True:
            line=file.readline()
            if not line:#if line==''到文件末尾退出
                break
            #字符串的分割
            keyword=line.split('|')[0]
            reply=line.split('|')[1]
            if keyword in question:
                return reply
    return False#不在问题范围内就返回False

if __name__ == '__main__':
    question=input('Hi,您好,小蜜再在此等候您很久了,有话快说!')
    while True:
        if question == 'bye':
            break
        #在文件中查找问题
        reply= find_answer(question)
        if not reply:#查找到的结果是False
            question=input('小蜜不知道你在说什么,您可以询问关于订单、物流、账户、支付等问题,退出请输入bye')
        else:
            print(reply)
            question=input('您可以询问关于订单、物流、账户、支付等问题,退出请输入bye')
    print('再见~')

猜你喜欢

转载自blog.csdn.net/bailichen800/article/details/125240400