13----我是作业

 1、编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改
# 方式一:文本文件编辑器的修改模式
def file_modify(path,old,new):
    with open(path,'r',encoding='utf-8') as f:
        data = f.read()
    # 将一杯改为三杯
    with open(path,'w',encoding='utf-8') as f:
        f.write(data.replace(old,new))

file_modify(r'E:\pycharm\代码\pycharm-oldboy\WEEK4\day02\04-作业\01-作业\info-register','一杯','两杯')

# 方式二:
def file_modify(path,old,new):
    with open(path,'r',encoding='utf-8') as f,\
         open('info-register-cover','w',encoding='utf-8') as f1:
        for line in f:
            f1.write(line.replace(old,new))
    import os
    os.remove('info')
    os.rename('info-register-cover',path)
file_modify(r'E:\pycharm\代码\pycharm-oldboy\WEEK4\day02\04-作业\01-作业\info','','')
2/编写tail工具
def tail_tool(start):
    import time
    with open('access.log','rb') as f:
    #     将指针移到文件末尾
        f.seek(0,2)
        while True:
            for line in f:
                if line == 0:
                    break
                    time.sleep(15)
                else:
                    print(line.decode('utf-8'),end='')

tail_tool()

3/编写登录功能

def login(name,password):
    flag = True
    while flag:
        # name = input('your name:')
        with open('info','r',encoding='utf-8') as f,\
            open('info_new','w',encoding='utf-8') as f1:
            for line in f:
                username,pwd,count = line.strip().split(':')
                count = int(count)

                if name == username:
                    if count == 5:
                        print(f'{name}被锁定')
                        return 'locked'
                    else:
                        while count < 5:
                            # password = input('your password:')
                            if password == pwd:
                                print('登陆成功')
                                flag = False
                                break
                            else:
                                print('密码错误')
                                count += 1
                f1.write(f'{username}:{pwd}:{count}\n')
        import os
        os.remove('info')
        os.rename('info_new','info')
login('egon','1234')

 

posted @ 2020-03-17 20:13  微信搜索-程序媛小庄  阅读(121)  评论(0)    收藏  举报