当前位置 博文首页 > python利用文件读写编写一个博客

    python利用文件读写编写一个博客

    作者:oceans of *stars 时间:2021-09-16 18:38

    本文实例为大家分享了python利用文件读写编写一个博客的具体代码,供大家参考,具体内容如下

    代码展示

    import random
    import json
    import time
    import os
     
     
    def zhuce():
        print("*********************正在注册*********************")
        try:
            users = readfile()
        except:
            fa = open(r'test.json', "w",encoding="utf-8")
            fa.write(json.dumps({"初始化": "初始化"}))
            fa.close()
            users = readfile()
            os.makedirs('用户信息')
        b = 0
        user_name = input("请输入你的用户名:")
        user_password = input("请输入你的密码:")
        for key in users.keys():
            if user_name == key:
                print("用户名已存在")
                b = 1
                break
        if b == 0:
            writefile1(user_name)
            users[user_name] = user_password
            writefile1(user_name)
            writefile(users)
        return b
     
     
    def readfile():
        f = open(r'test.json', "r+")
        f1 = json.load(f)
        f.close()
        return f1
     
     
    def writefile(a):
        a = json.dumps(a)
        f = open(r'test.json', "w")
        f.write(a)
        f.close()
     
     
    def homepage():
        print("*********************微博主页*********************")
        a = input("1注册 2登录 3退出\n请输入你的选择:")
        return a
     
     
    def zhucetexiao():
        print("注册中,请稍后!")
        print("更新成功!")
        print("注册成功!")
        print("默认文章表创建完成!")
     
     
    def denglu():
        b = 0
        print("*********************正在登录*********************")
        users = readfile()
        user_name = input("登录用户名:")
        user_password = input("登录密码:")
        for key in users.keys():
            if user_name == key:
                print("用户存在,判断密码")
                b = 2
                if user_password == users[key]:
                    print("登陆成功")
                    b = 1
                    dengluxiaoguo(user_name)
                    break
        if b == 0:
            print("登录失败")
        return b
     
     
    def dengluxiaoguo(user_name):
        while 0 == 0:
            a = input("1写文章 2读取所有 3读取一篇 4编辑一篇 5删除一篇 6登出\n请输入你的选择:")
            users = article_read(user_name)
            if a == "1":
                print("*********************写一篇文章*********************")
                article_write(user_name)
            elif a == "2":
                duqusuoyou(user_name)
            elif a == "3":
                print("*********************读一篇文章*********************")
                duquyipian(user_name)
            elif a == "4":
                print("*********************改一篇文章*********************")
                bianjiyipian(user_name)
            elif a == "5":
                print("*********************删一篇文章*********************")
                shanchuyipian(user_name)
            elif a == "6":
                break
     
     
    def shanchuyipian(user_name):
        duqusuoyou(user_name)
        a = input("请输入您要删除的序号?")
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        if len(f1) > 1:
            if int(a) > 0 and int(a) <= len(f1):
                f1.pop(a)
                for i in range(1, len(f1) + 2):
                    if i > int(a):
                        f1[str(i - 1)] = f1.pop(str(i))
                f = open(f'用户信息\{user_name}.json', "w")
                b = json.dumps(f1)
                f.write(b)
                f.close()
            else:
                print("未找到该序列")
        else:
            print("最后一篇文章拒绝删除")
        duqusuoyou(user_name)
     
     
    def bianjiyipian(user_name):
        duqusuoyou(user_name)
        a = input("请输入您要编辑的序号?")
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        if int(a) > 0 and int(a) <= len(f1):
            article_name = input("文章名称")
            article_content = input("文章内容")
            f = open(f'用户信息\{user_name}.json', "r+")
            f1 = json.load(f)
            f.close()
            f = open(f'用户信息\{user_name}.json', "w")
            time1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            f1[a] = {"title": article_name, "time": time1, "author": user_name, "content": article_content}
            b = json.dumps(f1)
            f.write(b)
            f.close()
        else:
            print("未找到该序列")
     
     
    def duquyipian(user_name):
        duqusuoyou(user_name)
        a = input("请输入您要查看的序号?")
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        if int(a) > 0 and int(a) <= len(f1):
            print(f1[a])
        else:
            print("未找到该序列")
     
     
    def duqusuoyou(user_name):
        print("*********************文章目录*********************")
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        for key in f1.keys():
            print(f"{key} {f1[key]['title']}        {f1[key]['time']}")
     
     
    def article_read(user_name):
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        return f1
     
     
    def article_write(user_name):
        f = open(f'用户信息\{user_name}.json', "r+")
        f1 = json.load(f)
        f.close()
        key_count = len(f1) + 1
        article_name = input("文章名称:")
        article_content = input("文章内容:")
        time1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        f = open(f'用户信息\{user_name}.json', "w")
        # print(type(key_count))
        f1[str(key_count)] = {"title": article_name, "time": time1, "author": user_name, "content": article_content}
        print(f1)
        b = json.dumps(f1)
        f.write(b)
        f.close()
     
     
    def readfile1():
        f = open(r'test1.json', "r+")
        f1 = json.load(f)
        f.close()
        return f1
     
     
    def writefile1(a):
        time1 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        f = open(f'用户信息\{a}.json', "w")
        b = {1: {"title": "初始化文章", "time": time1, "author": "0", "content": "0"}}
        print(b)
        b = json.dumps(b)
        f.write(b)
        f.close()
     
     
    while 0 == 0:
        h = homepage()
        if h == "1":
            if zhuce() == 0:
                zhucetexiao()
        elif h == "2":
            if denglu() == 1:
                pass
        else:
            exit()

    文件保存样式:

    运行结果:

     

     

    jsjbwy
    下一篇:没有了