自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 git删除已经提交远程仓库文件(本地留存)

我们在使用idea开发的过程中经常会出现新建项目的时候直接把__pycache__文件也添加到了git trace当然这并不会出现什么问题,问题是当我们把xxx.iml文件push到我们github上之后,然后在另一台电脑上pull了下来会出现一些问题,因为__pycache__文件不是项目的源码。也就是说对于导入项目来说是多余的。正规的源码目录:app/templates.ignore但是,我们又不能直接在本地删除xxx.iml。因为该文件是我们在本地开发的时候必须的。那么问题来了:我们要在

2020-05-14 20:36:44 894 1

原创 celery4.x在win10下启动报错Error: not enough values to unpack (expected 3, got 0)

关于celery的基本使用可参考其他文章,本文主要说明在win10 下启动报错的问题正常celery启动命令:celery -A module_name worker --loglevel=info启动后会报错如图所示:原因是celery4.x之后的默认配置不支持windows,启动时需要增加额外的参数celery -A module_name worker --loglevel=in...

2020-03-18 16:01:44 303

转载 Chrome被hao123.com等恶意链接劫持真正解决方法

最后发现,原来快速启动栏的快捷命令被其修改,修改后的类似如下:“C:\Program Files (x86)\Mozilla Firefox\firefox.exe” http://www.2345.com/?kunown于是认为就是普通的修改快捷方式,手工删除“http://www.2345.com/?kunown”部分。但好景不长,半小时后再次被更改了,这才认定——系统被蛀了~!本机安装...

2020-03-15 12:49:19 3106

原创 vim recodeing

解决方案在用vim编辑代码时,有时状态栏会出现recodeing的状态,这个状态保存和退出都不能正常执行(:q :wq esc),这时在正常状态(正常状态 = !insert状态 && !visual状态)下,按q就可以退出recodeing状态了认识一下recodeing这个状态是用来记录一些操作的,相当于录制动作–>再次执行在正常状态下,按q+字母或数字,就会启...

2020-02-16 13:31:09 211

原创 vim多行注释添加与删除(VISUAL BLOCK)

打开vim,将光标移至需要注释的行首按ctrl+v进入VISUAL BLOCK模式,按上/下健将需要注释的行全部选中输入I(大写的i),进入编辑模式,输入#输入完成后按esc退出,会有短暂的延迟后所选的行就都加上注释了删除,同样按ctrl+v,选中需要删除注释的行,按d就可以了...

2020-02-16 13:08:37 1312

原创 flask_migrate做数据库迁移时报错:ERROR [root] Error: Target database is not up to date.

问题产生原因本地已经存在一个数据库迁移的版本,又从别的地方拷入一个新的版本,在flask db migrate时报错解决方案按照正常情况下,查看migrate的状态和数据库的版本状态后,版本号如果不一致的话更新一下版本号就可以了,下面是我的情况可以看到我的migrate是有两个head的,我分不清那个是最新的了,知道的话吧最新的留下,另一个删除就能正常更新了。更新命令:$ pytho...

2020-02-13 21:59:12 2015

原创 权限设计-位与运算

问题引出一个网站系统针对不同的功能应该对应不同的用户来管理:简单一些的比如系统管理员和普通用户,这种只需要一个字段来标记是否为管理员即可。复杂的应用可能需要在普通用户和管理员之间再细分出多个不同等级的角色。有些应用甚至不能使用分立的角色,赋予用户一系列独立的权限或许更合适。解决方式当一个用户拥有多种权限时,用户的权限变更操作就回更加复杂,如果每个权限都单独用字段取标记的话那么权限变更...

2020-02-12 20:22:03 335

原创 python3 flask 中迁移数据库报错:ModuleNotFoundError: No module named 'MySQLdb'

报错内容这个错误是在我进行数据库迁移时出现的,网上查了下原因是因为MySQLdb不支持python3版本,python3更换为pymysql解决方案先安装pymysql包pip install pymysql然后在msqldb.py文件头部修改import pymysqlpymysql.install_as_MySQLdb()修改后mysqldb就可以正常使用了...

2020-02-11 18:29:22 407

转载 flask blueprint(蓝图)

模块化随着flask程序越来越复杂,我们需要对程序进行模块化的处理,之前学习过python的模块化管理,于是针对一个简单的flask程序进行模块化处理简单来说,Blueprint 是一个存储视图方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。Flask使用Blueprint让应用实现模块化,在Fl...

2020-02-10 22:53:18 235

原创 Flask中endpoint的理解

在flask框架中,我们经常会遇到endpoint这个东西,最开始也没法理解这个到底是做什么的。最近正好在研究Flask的源码,也就顺带了解了一下这个endpoint首先,我们看一个例子:@app.route('/user/<name>')def user(name): return 'Hello, %s' % name这个是我们在用flask框架写网站中最常用的。...

2020-02-09 22:19:57 415

原创 链表详解(python实现)

一、 定义见百度百科链表链表由表头和节点组成,节点分为数据域和指针域,数据域中存贮数据元素,指针域存储下个结点的地址二、单链表实现逻辑创建节点类Node和链表类Linklist,Linklist类中包含head属性,head的值为0或Node对象,Node类中包含value属性存储数据,next属性存储下个节点的地址(Node对象)循环节点从head开始取next属性,直到next=0为...

2019-05-23 17:50:03 2541

原创 堆排序详解(python实现),附树结构概念及性质

堆排序是在树结构(二叉树)上进行优化的一种排序方法,了解堆排序前需要先了解树的概念及其性质。在次简要说明下其性质,详细定义及说明请参考二叉树定义:一种非线性结构,是n(n>=0)个元素的集合;只有一个没有前驱结点(父结点)的元素称为根;树中除根结点外,其余元素只能有一个前驱结点(父结点),可以有零个或多个后继结点(子结点),二叉树最多有两个子结点;性质:在二叉树的第i层...

2019-05-14 14:06:24 205

原创 UnicodeDecodeError:'gbk' codec can't decode byte 0x94 in position 162: illegal multibyte sequence

需求:把指定目录下的文件复制到当前目录命名为copy在处理文件复制过程中,出现以下报错‘gbk’ codec can’t decode byte 0x94 in position 162: illegal multibyte sequencewith open('D:\sample.txt','r+') as f1: with open('D:\copy.txt','w+') as ...

2019-05-09 17:29:58 10165

原创 python3--shutil.make_archives

文件压缩shutil.make_archive(base_name, format[, root_dir[, base_dir, verbose, dry_run, owner, group, logger])base_name:压缩包的文件名,也可以是压缩包的路径;只是文件名时,则保存至当前目录下,否则保存至指定路径;format:压缩包种类,“zip”, “tar”, “bztar”,“...

2019-05-09 17:06:45 6534

原创 python实现base64编码、解码

def base(string:str)->str: oldstr = '' newstr = [] base = '' base64_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', '...

2019-04-25 15:34:45 2042

原创 自定义一个cache函数,实现过期清除key的功能(python实现)

自定义一个cache函数,实现过期清除key的功能(5秒)import inspectfrom functools import wrapsimport timeimport datetimedef cache(fn): local_cache = {} # 对不同函数名是不同的cache @wraps(fn) def wrapper(*args, **...

2019-04-25 11:08:30 798

原创 python--functools模块

reducereduce顾名思义就是减少reduce(function,seq[,initial])可迭代对象不能为空;初始值没有就从可迭代对象中取一个元素from functools import reducenum=[1,2,3,4,5]print(sum(num))print(reduce(lambda val,x:val + x),num)#相当于sum函数print(...

2019-04-25 10:59:41 258

原创 python-函数参数类型检查

python在3.5后引入了参数类型注解,例:def add(x:int,y:int)->int:#对x,y和返回值都进行注释,为int类型 return x + y注:注解是对函数参数和返回值的‘注释’,没有强制定义的作用(因为python是动态语言啊)那么既然注解不能强制定义类型,在函数调用中怎么判断传入的参数是否是我想要的呢?在次引入python的inspect模块ins...

2019-04-24 15:08:56 5234

原创 python函数之--返回值和作用域(+默认值的作用域)

返回值python函数使用return语句返回“返回值”所有函数都有返回值,如果没有return语句,隐式调用return None一个函数可以存在多个return语句,但是只有一条可以被执行。如果没有执行return,隐式调用return Nonereturn语句不一定是函数语句块的最后一句,但一定是函数执行的最后一句如果有必要,可以显式调用return None,简写为return...

2019-04-13 11:30:12 560

原创 python函数之--传参

数学定义:y=f(x),y是x的函数,x是自变量。y=f(x0,x1,x2,…,xn)python函数定义与作用由若干语句组成的语句块、函数名称、参数列表构成,它是组成代码的最小单元完成一定的功能封装的目的是为了复用,减少冗余代码使代码简介美观,可读易懂定义:def 函数名(参数列表): 函数体(代码块) [return 返回值]-------------------...

2019-04-13 10:19:17 750

原创 random模块常用方法(python3)

使用random模块需要提前导入import randm1、random.random ()用于生成一个0到1的随机浮点数: 0 <= n < 1.0; random.random()>>0.457113633216187362、random.uniform(a,b)用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。如果a > ...

2019-04-10 11:25:19 1025

转载 pyenv安装--完美实现python版本切换

Ubuntu 安装若没安装git则需要先安装sudo apt install git克隆pyenv仓库git clone https://github.com/yyuu/pyenv.git ~/.pyenv将PYENV_ROOT和pyenv init加入bash的~/.bashrcecho 'export PYENV_ROOT=~/.pyenv' >> ~/.bashr...

2019-04-08 10:23:34 587

原创 初探排序-快速排序(python实现)

快速排序是冒泡排序的一种改进基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码实现:def quick_sort(data): if len(data) >= 2: # 递归入口及出口 mid ...

2019-04-03 17:28:39 239

原创 初探排序-插入与选择排序与优化

发现了一个网站可以更好的帮助理解排序的过程:点这里查看插入排序保持第一个位置不动,后面位置上的元素比前面小,则交换,换一轮,则第一个位置上的元素就是最小的了继续保持第二个位置上元素不动,接着比较其后面的元素num=[78,54,443,32,65,654,234,232]for i in range(1,len(num)): minNum= num[i]#默认当前num[i]为最...

2019-04-03 16:12:38 149

原创 python-切片

一、详解基本语法:sequenceDiagram[start:end:step]for value in rang(10)[::-1] #会将涉及的数字倒序输出这个是python的slice notation的特殊用法。a = [0,1,2,3,4,5,6,7,8,9]b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象b = a[1:3] 那么,b的内容...

2019-03-31 20:37:52 894

原创 初探排序-冒泡排序及优化(python实现)

要求:对某一无序列表进行排序,使其按照从小到大排序,不使用python内建函数。假设给定的列表为:list=[1,2,3,4,5,6,9,8,7]1、解题思路看到题目首先脑子里想到的就是前两个数比较大小,如果第一个数大于第二个数,就交换两个数的位置,以此类推知道所有的数都比较完,逻辑如下:if list[0] > list[1]: temp = list[1] #先用一个变量把...

2019-03-30 16:56:33 151

原创 虚拟机搭建centOS环境-小白教程,图文并茂!

大家通常在学习中会需要用到Linux系统的环境,本文记录了从零搭建centOS环境的一些步骤准备环节:centOS镜像文件下载地址:http://mirror.xtom.com.hk/centos-altarch/7.6.1810/isos/aarch64/CentOS-7-aarch64-Everything-1810.iso虚拟机:VMware Workstion Pro(百度下载就好...

2019-03-24 21:22:55 1305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除