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

2022-05-27 0 691

本文实例为大家分享了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()

文件保存样式:

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

运行结果:

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

遇见资源网 Python python利用文件读写编写一个博客 http://www.ox520.com/29437.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务