python3按时间生成日志

之前写过一个“Flask配置logger模块日志生成到日期生成的文件”这个笔记,这里其实和那个差不多,可以看我之前的笔记https://sulao.cn/post/660.html主要还是使用logging模块,主要是一下方法import loggingimport timeimport os#创建loggerlogger = logging.getLogger()#定义日志目录和名字log_dir_name = "logs"log_...

阅读全文

flask使用flask_migrate更新并迁移表数据

在开发程序的过程中,你会发现有时需要修改数据库模型,而且修改之后还需要更新数据库。仅当数据库表不存在时,Flask-SQLAlchemy才会根据模型进行创建。因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库中的所有数据。更新表的更好方法是使用数据库迁移框架。源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应用到数据库中这个模块需要我们单独安装pip install flask_migrate使用方法也很简单使用原本实例化的app对象作为参数实例化migrate对...

阅读全文

Flask报错flask: jinja2.exceptions.TemplateNotFound error的解决方法

Flask使用render_template()方法来渲染模板,可以在这个函数中指定模块和传值到模块,在实际开发中,我们一般使用工厂函数来注册蓝图,同时也是在在工厂函数文件中获取app实例,然后直接注册到应用工厂中,看看我的flask应用目录如果我选择在入口文件实例化flask实例,那么是这样from flask import Flaskfrom flask_script import Manager,Server,prompt_boolfrom app.application...

阅读全文

python3获取系统当前进程和进程名的方法

每个程序都是一个进程或者多个进程,除去系统占用资源其他都被这些进程占用,比如我们的web服务,数据库等;很多情况下因为程序自身问题,会导致CPU运行100%,内存耗尽,磁盘写满,最后导致服务崩溃,我们可以通过psutil下面2个方法获取进程相关信息,还是使用之前学习过的psutil模块,之前的笔记可以通过https://sulao.cn/post/4.html查看,下面我们来看今天要学习的主要方法方法说明psutil.pids()获取进程ID(每个进程都有唯一ID)psutil.Process(pid)根据进程ID获取进程Process对象我们直接来看下...

阅读全文

python3工具模块functools的使用方法

functools工具函数在一般业务中用到的不太多,我们日常基本只用到三个函数,其中一个reduce之前有过一个笔记,详情可以查看https://sulao.cn/post/683.html,另外两个函数我们今天来介绍下使用方法我们先来看看functools中有哪些工具函数print(dir(functools))打印结果['RLock', 'WRAPPER_ASSIGNMENTS', 'WRAPPER_UPDATES', '_CacheInfo', ...

阅读全文

python3断言(assert)的简单使用介绍

assert断言语句和if分支有点类似,它用于对一个bool表达式进行断言,如果该bool表达式为True,该程序可以继续向下执行;否则程序会引发AssertionError错误声明布尔值必须为真的判定,布尔值为真,没有输出;如果布尔值为假,则会抛出异常,异常信息可以自己编写。反过来,就可以用来判断布尔值。由于执行速度非常快,可以看做是代码的文档,所以需要使用时,不要犹豫的使用它我们来看一个简单的例子#!/usr/bin/python3#coding:utf-8s_age = input("请...

阅读全文

linux下fping命令简单使用介绍

Fping程序类似于ping(ping是通过ICMP(网络控制信息协议InternetControlMessageProtocol)协议回复请求以检测主机是否存在)。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。与ping要等待某一主机连接超时或发回反馈信息不同,fping给一个主机发送完数据包后,马上给下一个主机发送数据包,实现多主机同时ping。如果某一主机ping通,则此主机将被打上标记,并从等待列表中移除,如果没ping通,说明主机无法到达,主机仍然留在等待列...

阅读全文

Flask用paginate实现数据分页

Flask分页也有几种方式,可以使用我们之前写的分页函数,可以查看我之前的笔记https://sulao.cn/post/552.html也可以使用paginate模块来分页,paginate方法是flask-sqlalchemy提供的,下面我们来看看paginate的使用方法paginate的用法paginate(page, per_page, error_out=True)page 当前页数per_page 每页显示的条数error_out 是否打印错误信息paginate的属性...

阅读全文

CentOS7部署Ceph分布式存储

Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储ceph有以下几点特性高性能a. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。b.考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。c. 能...

阅读全文

使用jQuery Sparklines绘制一些简单的图表

之前做图标和曲线,直方图都是用echart,一直觉得用这种框架做一些小图表太过于笨重,于是找到了这个sparklines的jq插件,下面我们来介绍下sparklinessparkline是一类信息体积小和数据密度高的图表。目前它被用作一些测量,相关的变化的信息呈现的方式,如平均温度,股市交投活跃,sparkline常常以一组多条的形式出现在柱状图,折线图当中sparklines插件官网https://omnipotent.net/jquery.sparkline/#s-about具体官网给了一个demo例子,我们来看看,注意使用的时候我们还是需要先引入j...

阅读全文