python-- 模拟淘宝自动回复--文件读写的问题//记录用户的登录日志(记录登录时间)

该博客展示了如何实现用户登录日志记录和文件读写操作。通过定义函数`write_logininfo`和`read_logininfo`,实现了登录信息的追加写入和读取。此外,还创建了一个自动回复系统,通过读取预设的`replay.txt`文件,根据用户输入的问题寻找匹配的回复。若无匹配答案,允许用户重新提问。整个系统涉及文件操作和条件判断,为模拟客户服务提供了基础功能。
摘要由CSDN通过智能技术生成

记录用户的登录日志(记录登录时间)--磁盘的操作--文件读写的操作



import time
#使用函数 ——使用时间
#显示日志
def show_info():
    print('输入提示数字,执行相应的操作:0.退出 1.查看登录日志')

#记录日志
def write_logininfo(username):#登录日志
    #with语句 上下文管理器 可以自动关闭资源 可以不用手动关闭
    with open('log.txt','a') as file:
        # strftime将时间转成字符串 转换的自己想要的格式格式年月日 时分秒 将localtime将s转换年月日时分秒格式 time.time()读出的是s
        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 pwd=='8888':
        print('登录成功!!!')
        #需要进行日志的记录
        write_logininfo(username)
        show_info()#提示用户需要进行什么操作
        num=int(input('请输入操作数字: '))
        while True: #循环判断
            if num==0:
                print('退出成功!')
                break
            elif num==1:
                print('查看登录日志')
                read_logininfo()
                print('---------------')
                num = int(input('请输入操作数字: '))
            else:
                print('您输入的数字有错误!请重新输入')
                show_info()
                num = int(input('请输入操作数字: '))

    else:
        print('对不起,用户名或者密码不正确!!')

 

 模拟淘宝自动回复--文件读写的问题

先需要建立一个文本文件(在文件文件里面有自动回复的答案)

 



# 需要完成的是 当客户发送信息时候 要读取文件信息 给客户回复

# 查找问题 去文件中寻找
def find_answer(question):
    with open('replay.txt','r',encoding='utf-8') as file:
        # 循环读取 每次读取一行
        while True:
            line=file.readline()
            #分割处问题和答案
            if not line: #到文件末尾就结束---或者是 if line==''
                break

            keyword,reply=line.split(sep='|')
            #keyword=line.split('|')[0]
            #reply=line.split('|')[1]
            if keyword in question:#问题在关键字母中就返回
                return reply
    return False
if __name__ == '__main__': #直接输入main
    question=input('Hi,您好,有什么问题快和我说吧:')
    while True:#可以输出多次
        # 开始在文件中查找问题
        replay=find_answer(question)
        if not replay:#如果回复是false
            question=input('您或许可以重新输入您的问题,您可以询问关于订单、物流、账户、支付的问题:(退出请输入bye)')
        else:
            print(replay)
            question = input('您还可以继续询问关于订单、物流、账户、支付的问题:(退出请输入bye)')
        if question=='bye':
            break

    print('再见')





#encodinh=gbk
# 需要完成的是 当客户发送信息时候 要读取文件信息 给客户回复

# 查找问题 去文件中寻找
def find_answer(question):
    with open('replay.txt','r',encoding='gbk') as file:
        # 循环读取 每次读取一行
        while True:
            line=file.readline()
            #分割处问题和答案
            if not line: #到文件末尾就结束---或者是 if line==''
                break

            keyword,reply=line.split(sep='|')
            #keyword=line.split('|')[0]
            #reply=line.split('|')[1]
            if keyword in question:#问题在关键字母中就返回
                return reply
    return False
if __name__ == '__main__': #直接输入main
    question=input('Hi,您好,有什么问题快和我说吧:')
    while True:#可以输出多次
        # 开始在文件中查找问题
        replay=find_answer(question)
        if not replay:#如果回复是false
            question=input('您或许可以重新输入您的问题,您可以询问关于订单、物流、账户、支付的问题:(退出请输入bye)')
        else:
            print(replay)
            question = input('您还可以继续询问关于订单、物流、账户、支付的问题:(退出请输入bye)')
        if question=='bye':
            break

    print('再见')




 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值