python-使用bottle时间简易服务器

news2024/11/28 6:40:28

python-使用bottle时间简易服务器

    • 调试
      • 读取文本所有内容
      • 字段解析
      • json字符串解析
      • 追加写入文件
    • 整理后
      • 整理后写入文件方法
      • 将目录下所有文本的内容批量追加到一个文本
      • 搜索字符串方法
      • 实现简易服务器通过浏览器访问

调试

读取文本所有内容

f=open("./howtousercbow/data/other/yuedu/202310.txt",encoding="utf-8")
jsonstr=f.read()
f.close()

字段解析

qusType": “3”,判断题

“paperQusAns”: “正确”, 我得回答

“paperQusScore”: 1, 回答状态正确 0错误

“qusType”: “1”, 单选题

“qusType”: “2”,多选择题

json字符串解析

import json
data=json.loads(jsonstr)
histo=[]
for item in data["data"]["paperQusList"]:
    histo.append("{}@@@@{}@@@@{}".format(item["qusContent"],item["paperQusScore"],item["paperQusAns"]))
    

追加写入文件

with open("./howtousercbow/data/other/yuedu/sum.txt","a",encoding="utf-8") as f:
    for item in histo:
        f.write(item)
        f.write("\n")
        

整理后

整理后写入文件方法

# 单独或者新增使用
import json
def writeFileContentToSum(filepath):
    f=open(filepath,encoding="utf-8")
    jsonstr=f.read()
    f.close()
    
    data=json.loads(jsonstr)
    histo=[]
    for item in data["data"]["paperQusList"]:
        histo.append("{}@@@@{}@@@@{}@@@@{}".format(item["qusContent"],item["paperQusScore"],item["paperQusAns"],item["qusType"]))
        
    with open("./howtousercbow/data/other/yuedu/sum.txt","a",encoding="utf-8") as ff:
        for item in histo:
            ff.write(item)
            ff.write("\n")

将目录下所有文本的内容批量追加到一个文本

# 批量使用
import os
lists=os.listdir("./howtousercbow/data/other/yuedu/")
lists
for item in lists:
    if item!="sum.txt":
        writeFileContentToSum("./howtousercbow/data/other/yuedu/{}".format(item))
        print(f"写入{item}")

写入202310.txt
写入202311.json
写入202312.json
写入202401-1.json
写入202401-2.json
写入202402.json
写入202403.json

搜索字符串方法

# 第2种方式)在想终止的cell,按ESC键,让其脱离编辑状态,在命令状态中,连续按两次“I”键(interrupt的首字母)(简单:推荐
# bottle https://baijiahao.baidu.com/s?id=1741557564519996709&wfr=spider&for=pc

def getType(str):
    if str=="3":
        return "判断题"
    if str=="2":
        return "多选题"
    if str=="3":
        return "单项题"    
    
def parseSearch(searchstr):
    with open("./howtousercbow/data/other/yuedu/sum.txt","r",encoding="utf-8")as f:
        lines=f.readlines()
        
        res=""
        for line in lines:
            spp=line.split("@@@@")
            qusContent=spp[0]
            paperQusScore="这道题回答错误" if spp[1]=="0" else "【这道题回答正确】"
            paperQusAns=spp[2]
            qusType=getType(spp[3])
            if searchstr in qusContent:
                print(f"{qusContent}  {paperQusScore}   我得回答是:{paperQusAns}")   
                res=res+qusContent+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+paperQusScore+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+"我得回答是: "+paperQusAns+"<br><br>"
        return res
# while True:
#     user_input = input("请输入内容: ")
#     parseSearch(user_input)

实现简易服务器通过浏览器访问

from bottle import route, run,get
 
@route('/')
def index():
    return "你说说看先!"

@route('/:content')ii
def back(content):
    return '''回答记录如下:<br><br>%s '''% (parseSearch(content))
    
run(port=8001)
Bottle v0.12.25 server starting up (using WSGIRefServer())...
Listening on http://127.0.0.1:8001/
Hit Ctrl-C to quit.

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch实现胶囊网络(capsulenet)

胶囊网络在hinton刚提出来的时候小热过一段时间&#xff0c;之后热度并没有维持多久。vision transformer之后基本少有人问津了。不过这个模型思路挺独特的&#xff0c;值得研究一下。 这个模型的提出是为了解决CNN模型学习到的特征之间没有空间上的关系&#xff0c;从而对于各…

python毕业设计django游泳馆管理系统-flask

游泳馆管理系统具有信息管理功能的选择。游泳馆管理系统采用python技术&#xff0c;基于mysql开发&#xff0c;实现了首页&#xff0c;教练信息&#xff0c;培训信息&#xff0c;交流版块&#xff0c;活动公告&#xff0c;个人中心&#xff0c;后台管理等内容进行管理&#xff…

怎样将PDF转成PPT,有免费的工具吗?

PDF转换为PPT的需求在现代办公和学习中越来越常见。很多人可能遇到过需要将PDF文件中的内容转移到PPT中以方便编辑和展示的情况。幸运的是&#xff0c;现在市面上有许多工具可以帮助我们实现这一目标&#xff0c;而且其中不乏一些免费的选项。本文将详细介绍如何使用这些免费工…

Python 批量检测ip地址连通性,以json格式显示(支持传参单IP或者网段)

代码 ########################################################################## File Name: check_ip_test.py# Author: eight# Mail: 18847097110163.com # Created Time: Thu 11 Apr 2024 08:52:45 AM CST################################################…

小程序中配置scss

找到&#xff1a;project.config.json 文件 setting 模块下添加&#xff1a; "useCompilerPlugins": ["sass","其他的样式类型"] 配置完成后&#xff0c;重启开发工具&#xff0c;并新建文件 结果&#xff1a;

使用hexo+gitee从零搭建个人博客

一、环境准备 1.Node.js&#xff1a;下载 | Node.js 中文网 (nodejs.cn) &#xff0c;Hexo 是基于Node.js 的博客框架 教程&#xff1a;https://blog.csdn.net/weixin_52799373/article/details/123840137 node -v npm -v 安装 Node.js 淘宝镜像加速器 &#xff08;cnpm&am…

JS-28-AJAX

一、AJAX的定义 AJAX不是JavaScript的规范&#xff0c;它只是一个哥们“发明”的缩写&#xff1a;Asynchronous JavaScript and XML&#xff0c;意思就是用JavaScript执行异步网络请求。 如果仔细观察一个Form的提交&#xff0c;你就会发现&#xff0c;一旦用户点击“Submit”…

【JavaEE初阶系列】——网络编程 UDP客户端/服务器 程序实现

目录 &#x1f6a9;UDP和TCP之间的区别 &#x1f388;TCP是有连接的 UDP是无连接的 &#x1f388;TCP是可靠传输 UDP是不可靠传输 &#x1f388;TCP是面向字节流 UDP是面向数据报 &#x1f388;TCP和UDP是全双工 &#x1f469;&#x1f3fb;‍&#x1f4bb;UDP的socket ap…

【muzzik 分享】3D模型平面切割

# 前言 一年一度的征稿到了&#xff0c;倒腾点存货&#xff0c;3D平面切割通常用于一些解压游戏里&#xff0c;例如水果忍者&#xff0c;切菜这些&#xff0c;今天我就给大家讲讲怎么实现3D切割以及其原理&#xff0c;帮助大家更理解3D中的 Mesh(网格)&#xff0c;以及UV贴图和…

ssm+vue的实验室课程管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的实验室课程管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

【NLP笔记】大模型微调方法概述

对于一些生成式场景而言&#xff0c;没有固定的回答结果&#xff0c;采用AI Agent的增强范式&#xff0c;可以极大地提升模型生成的效果。但是对于有固定格式、输出目标的场景而言&#xff0c;仅从prompt优化的角度出发很难突破瓶颈&#xff0c;需要通过微调来提升效果&#xf…

背 单 词 (考研词汇闪过)

单词&#xff1a; 买考研词汇闪过 研究艾宾浩斯遗忘曲线 https://www.bilibili.com/video/BV18Y4y1h7YR/?spm_id_from333.337.search-card.all.click&vd_source5cbefe6dd70d6d84830a5891ceab2bf9 单词方法 闪记背两排&#xff08;5min&#xff09;重复一遍&#xff08;2mi…

vue中预览docx、xlsx、pptx、pdf

前言&#xff1a;其实本来是要做全类型文件预览的&#xff0c;但是一直找不到合适的doc,xlx,ppt预览插件。要是有可以使用的&#xff0c;可以评论推荐给我 我使用的node版本&#xff1a;v18.19.1 参考官网&#xff1a;preview 文件预览 | ran 引入方式&#xff1a; //安装组…

Flask快速搭建文件上传服务与接口

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、需求背景 前端通过浏览器&#xff0c;访问后端服务器地址&#xff0c;将目标文件进行上传。 访问地址&#xff1a;http://127.0.0…

✔ ★Java项目——设计一个消息队列(二)

Java项目——设计一个消息队列 四. 项⽬创建五. 创建核⼼类创建 Exchange&#xff08;名字、类型、持久化&#xff09;创建 MSGQueue&#xff08;名字、持久化、独占标识&#xff09;创建 Binding&#xff08;交换机名字、队列名字、bindingKey用于与routingKey匹配&#xff09…

前端docker jenkins nginx CI/CD持续集成持续部署-实战

最近用go react ts开发了一个todolist后端基本开发完了,前端采用CI/CD方式去部署。 步骤总结 先安装docker 和 docker-compose。安装jenkins镜像,跑容器的时候要配好数据卷。配置gitee或github(我这里使用gitee)在服务器上一定要创建好dokcer的数据卷,以便持久保存jenkin…

【MySQL】锁篇

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f8;友情提供 目录 本系列专栏 1. MySQ 中的锁 2. 表锁和行锁 表锁 行锁 3. InnoDB 存储引擎的三种行级锁 4. 悲观锁…

怎么开发一个预约小程序_一键预约新体验

预约小程序&#xff0c;让生活更便捷——轻松掌握未来&#xff0c;一键预约新体验 在快节奏的现代生活中&#xff0c;我们总是在不断地奔波&#xff0c;为了工作、为了生活&#xff0c;不停地忙碌着。然而&#xff0c;在这繁忙的生活中&#xff0c;我们是否曾想过如何更加高效…

探探各个微前端框架

本文作者为 360 奇舞团前端开发工程师 微前端架构是为了在解决单体应用在一个相对长的时间跨度下&#xff0c;由于参与的人员、团队的增多、变迁&#xff0c;从一个普通应用演变成一个巨石应用(Frontend Monolith)后&#xff0c;随之而来的应用不可维护的问题。这类问题在企业级…

点击按钮(文字)调起elementUI大图预览

时隔一年&#xff0c;我又回来了 ~ 最近在做后台&#xff0c;遇到一个需求&#xff0c;就是点击“查看详情”按钮&#xff0c;调起elementUI的大图预览功能&#xff0c;预览多张图片&#xff0c;如下图&#xff1a; 首先想到的是使用element-ui的el-image组件&#xff0c;但它是…