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()
 
 
 
 
 
 
文件保存样式:

(0)

相关推荐

  • Python使用Django实现博客系统完整版

    今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的. 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: PyCharm 2016.1 功能篇 既然是博客系统,发布的自然是博客了.让我们想想,一篇博客有什么属性.所以我们要有能添加博客,删除博客,修改博客,以及给博客发评论,贴标签,划分类等功能. 关系分析 属性 博客:标题,内容. 标签:标签名 分类:分类的名称 评论:评论人,评论人email,评论内容 关

  • 使用Python实现博客上进行自动翻页

    先上一张代码及代码运行后的输出结果的图! 下面上代码: # coding=utf-8 import os import time from selenium import webdriver #打开火狐浏览器 需要V47版本以上的 driver = webdriver.Firefox()#打开火狐浏览器 url = "http://codelife.ecit-it.com"#这里打开我的博客网站 driver.get(url)#设置火狐浏览器打开的网址 time.sleep(2) #使

  • Python采用Django开发自己的博客系统

    好久之前就想做一下自己的博客系统了,但是在网上查了查好像是需要会一些Node.js的相关知识,而且还要安装辣么多的库什么的,就不想碰了.但是我遇到了Django这么一款神器,没想到我的博客系统就这么建立起来了.虽然是最基础的类型.但是也算是成功了,这篇博客比较适合对Django有了一定了解的童鞋,如果是新手的话,建议先看一下django的基础知识点再来做实验,这样效率更高! 好了,话不多说,开始吧. 搭建框架  •创建项目及应用 搭建框架的意思,就是安装Django以及做好相关的配置.因为我是在

  • 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&

  • python利用os模块编写文件复制功能——copy()函数用法

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\python100题\123' #封装成函数 def copy_function(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist=os.listdir(src) for file in filelist: p

  • python实现批量下载新浪博客的方法

    本文实例讲述了python实现批量下载新浪博客的方法.分享给大家供大家参考.具体实现方法如下: # coding=utf-8 import urllib2 import sys, os import re import string from BeautifulSoup import BeautifulSoup def encode(s): return s.decode('utf-8').encode(sys.stdout.encoding, 'ignore') def getHTML(url

  • Python 实现文件读写、坐标寻址、查找替换功能

    读文件 打开文件(文件需要存在) #打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() #关闭文件 #为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代 with open('data.txt',"r") as f: #设置文件对象 str = f.read() #可以是随便对文件的操作 完全读取文件 #完全读取文件 f = open("data.t

  • 利用 Go 语言编写一个简单的 WebSocket 推送服务

    本文中代码可以在 github.com/alfred-zhong/wserver获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微信和 App 推送给用户的,现在要让登录用户在网页端也能实时接收到报警推送. 依稀记得以前工作的时候遇到过类似的需求.因为以前的浏览器标准比较陈旧,并且那时用 Java 较多,所以那时候解决这个问题就用了 Comet4J.具体的原理就是长轮询,长链接.但现在毕竟 html5 流行开来了,IE 都被 Edge 接替了,再用以前这种技术就显得过

  • 详解python持久化文件读写

    持久化文件读写: f=open('info.txt','a+') f.seek(0) str1=f.read() if len(str1)==0: f1 = open('info.txt', 'w+') str1 = f.read() # 如果数据没有就写入数据到文件 time_list = ["早上", "中午", "晚上"] character_list = ["小赵","小钱", "小孙&q

  • Python使用文件操作实现一个XX信息管理系统的示例

    写在前面 大家好,我是第一次python学了一个学期,期末要完成一个毕业生信息管理系统大作业的小韩了,由于上次没有仔细看开发实现的要求,实现了一个简单的毕业生信息管理系统,而这次专门整理了两种使用文件进行保存数据实现的毕业生信息管理系统,因为是第一次学python,还不太熟悉python的写法, 而之前是学 c .c++,感觉我的这个写的有一股 c/c++的内味: 1. 使用excel .xlsx 保存数据实现一个毕业生信息管理系统2. 使用文本文档.txt保存数据实现一个毕业生信息管理系统 以

  • python利用文件时间批量重命名照片和视频

    本文实例为大家分享了python利用文件时间批量重命名照片和视频的具体代码,供大家参考,具体内容如下 问题描述 承接上节的问题,在安卓和苹果间互导照片和视频还容易出现文件名混乱的问题,如下图所示. 代码实现 为保证文件名的准确性,这里主要提取照片的拍摄时间和视频的修改时间用于重命名,这两个时间一般是其原始时间,实现代码如下: import os import re import time import exifread def get_file_date(filepath, format): '

  • Python利用Turtle库绘制一个小老虎

    目录 导语 1.定义库以及初始化界面 2.画出左右两只耳朵 3.画出小老虎头部轮廓 4. 画出老虎的两只眼睛 5.画出老虎的鼻子和嘴巴 6.画出小老虎的左右肢体和脚趾 7.在需要的位置写上我们的新年祝福 8. 显示倒数3,2,1 9.显示我们需要的文字 10.设定代码运行入口,调用目标函数 成果展示 导语 哈喽铁汁们好久不见吖~小编已经复工了于是马不停蹄赶来给大家准备新年礼物算开工礼物吧! 海龟来作图 虎年就是要画老虎 2022不用纸和笔~ 今晚画老虎~ 一二三四五 老虎宝宝示意图 虎年怎么能少

  • 详解用Docker快速搭建一个博客网站

    目录 一.准备工作 二.部署流程  三.访问测试 Halo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择. 官网地址:https://halo.run/ 一.准备工作 本章教程基于Docker搭建,所以需要你提前在服务器上安装好Docker环境. Docker安装教程:https://www.jb51.net/article/94067.htm 二.部署流程 (1)创建工作目录 mkdir ~/.halo && cd ~/.halo (2)下载配置文件到工作目录 wget

随机推荐