随笔分类 -  Python

about Python content
python中装饰器的使用
摘要:一、背景 python中最为重要的一个概念就是装饰器,这里记录一下原理和方法。从flask源码出发编写一个日志的装饰器。 1.1 装饰器的类型 函数式装饰器 类装饰器 二、装饰器原理与使用 装饰器实际是将函数作为参数传入到另一个函数中,并且可以执行传入的函数。这使得装饰器能够将很多统一流程或者是重复 阅读全文
posted @ 2021-07-30 23:30 蔚蓝色の天空 阅读(507) 评论(0) 推荐(0)
Python中property的使用
摘要:一、背景和场景 1.1 背景 python在进行oo编程的时候,可以设定一系列方法,为了满足oo的设计原则,python使用装饰器和property的方法来完成属性设定。 1.2 场景 在我输入一个数的时候,只需要通过对象访问就可以完成属性值的设定,举例: 1.2.1 传统 # 定义: class 阅读全文
posted @ 2021-07-26 19:39 蔚蓝色の天空 阅读(344) 评论(0) 推荐(0)
超级水王问题
摘要:一、背景 观看左神的数据结构的讲解,记录一下问题的思路,方便以后复习。 问题描述:给你一个数组,出现次数大于数组长度的一半的元素称之为水王数,怎么能快速找到水王数? 内存限制:时间复杂度O(n),额外空间复杂度O(1) 二、解决思路 2.1 一般思路 使用一个hashmap记录每次出现的次数,根据出 阅读全文
posted @ 2021-07-21 23:34 蔚蓝色の天空 阅读(130) 评论(0) 推荐(0)
python打包文件(nuitka)
摘要:一、背景 python作为脚本开发,便捷、高效但是我们需要将编写的脚本发布出去给别人用,这里就比较麻烦,python使用较多的是pyinstaller,个人用过几次,感觉没有这次介绍的nuitka好用。 二、方法 2.1 安装 2.1.1 安装nuitka 使用以下的命令安装nuitka pip i 阅读全文
posted @ 2021-05-20 11:48 蔚蓝色の天空 阅读(5124) 评论(0) 推荐(0)
vue实现前后端文件的上传和下载
摘要:一、背景 在项目中除了一般的数据传送以外,剩下的核心部分就是文件、视频的传送问题以及用户状态权限等。根据实际的项目需求,这里记录一下vue+flask的文件传送方式,其他的语言也类似。 二、上传 上传内容以前端为主动,后端和服务器为被动 2.1 前端 上传这里使用了element-ui的upload 阅读全文
posted @ 2021-05-20 10:59 蔚蓝色の天空 阅读(4937) 评论(0) 推荐(0)
pyqt5使用多线程避免程序假死
摘要:一、背景 在进行开发的时候,比如请求网页,资源下载等问题的时候 ,需要使用多线程对程序进行处理。一是避免程序假死,二是提高用户体验,增强程序健壮性。 二、方法 通过继承Qthread的方法,重写run函数进行处理。处理的流程如下图 2.1 构建线程方法 通过继承Qthread编写自己的线程方法 # 阅读全文
posted @ 2021-05-12 17:40 蔚蓝色の天空 阅读(1728) 评论(0) 推荐(1)
使用python编写shell脚本并运行
摘要:一、场景 使用爬虫爬取一些分段的MP4的文件的时候,需要使用到FFmpeg将MP4合并成一个文件,这里记录一下遇到的问题,方便以后的查询。 二、问题与解决方法 首先是编写shell文件,直接通过文件读写的方式就可以完成一系列指令的生成,这里举一个视频分割重组的shell脚本例子。 #! /bin/b 阅读全文
posted @ 2021-05-09 00:32 蔚蓝色の天空 阅读(2485) 评论(0) 推荐(0)
记录一下WordNet多线程下的bug
摘要:使用线程池的时候,WordNet会出现lazyrender的错误,通过查看一些资料,使用下面的方法去解决: import nltk from nltk.corpus import sentiwordnet as swn # Do this first, that'll do something ev 阅读全文
posted @ 2021-05-04 00:18 蔚蓝色の天空 阅读(71) 评论(0) 推荐(0)
利用多线程对大数组进行处理
摘要:一、场景 在进行模型训练的过程中,会对一些大数据资源进行处理。比如对一个(80000,35)进行数据的替换和选择 二、涉及内容 对上述场景进行处理,采取的想法是分解数组,处理完在合并,需要做到以下的要求: 1. 数据顺序正确 2. 高维数组不能过长迭代(多个for嵌套) 因此需要涉及到进程池,数组迭 阅读全文
posted @ 2021-04-30 10:29 蔚蓝色の天空 阅读(626) 评论(0) 推荐(0)
图谱嵌入模型神器
摘要:一、背景 在进行知识图谱嵌入的时候,需要使用到很多模型如Tran系列的模型、KG2B等,这里介绍一个嵌入的集成神奇——pykeen。 二、使用 2.1 使用 使用如下指令安装 # 安装指令 pip install pykeen 2.2 模型训练 pykeen提供了自己的数据集,可以使用给定的路径,也 阅读全文
posted @ 2021-03-25 19:54 蔚蓝色の天空 阅读(1412) 评论(0) 推荐(1)
flask连接数据库、反向数据表以及项目文件组织结构
摘要:一、背景 利用flask+mysql+mongodb开发一个网站,对文件结构以及将已存在的数据表用SQLALchemy转成操作对象,并对flask文件结构进行组织。 二、文件组织架构 我按照MVC的模式设计我的文件结构,flask和Django属于MVT的结构,这里T用前后端分离的方式来实现,所以文 阅读全文
posted @ 2021-02-10 00:46 蔚蓝色の天空 阅读(400) 评论(0) 推荐(0)
flask中的蓝图(Blueprint)
摘要:一、场景 在进行flask开发的时候,需要按照不同的封装对象进行开发。比如我们在开发电影网站,可以按照电影的url,用户的url,评论的url来进行开发,避免了将整个url都放入一个文件中,此时我们就需要使用到flask中的蓝图。 二、使用 使用蓝图按照以下的顺序: 创建蓝图-->在flask的AP 阅读全文
posted @ 2021-01-18 22:40 蔚蓝色の天空 阅读(2018) 评论(0) 推荐(0)
Django对自定义的数据字段进行特殊处理
摘要:一、场景 我们在使用admin后台管理用户的时候需要对用户信息进行一个特殊处理,如加密用户的密码。这个时候我们就需要定义一个方法完成数据字段的加密。 二、方法 我们在model中重载save的方法,来对密码字段进行加密处理 代码: class User(models.Model): userid = 阅读全文
posted @ 2020-12-14 09:40 蔚蓝色の天空 阅读(321) 评论(0) 推荐(0)
Django实现现有数据库的数据接管
摘要:一、背景 在进行开发过程中,为了简化后台的开发过程或者更新后台框架为Django,我们需要使用Django对现有的数据库进行一个接管,以此来完成我们的开发过程。 二、方法 在Django中提供了一种数据转化的程序inspectdb,我们可以通过这个inspectdb来将数据库内容转化成数据模型,这样 阅读全文
posted @ 2020-12-12 12:11 蔚蓝色の天空 阅读(218) 评论(0) 推荐(0)
Django中admin的高级应用
摘要:一、背景 在Django的开发过程中,我们会使用admin的后台管理的工具,这里记录一下使用的后台管理需要的东西。Django自身提供了一个简单的界面,可以对此进行二次开发。包括xadmin和bootstrap_amdin两个。这里使用的是boostrap_admin 二、使用 1. 安装 首先我们 阅读全文
posted @ 2020-09-16 08:58 蔚蓝色の天空 阅读(413) 评论(0) 推荐(0)
python中str的使用
摘要:一、问题 我们在做字符串替换的时候会遇到一个字符想换转换的方法,注:string类型是一个不可变的类型,因为我们不能够直接修改。 """ 替换规则: ATGC-->TACG """ 上述的问题也比较简单,可以使用的方法就是构建一个dict的映射关系,然后使用循环和join即可 二、解决 除了上述的方 阅读全文
posted @ 2020-08-23 00:24 蔚蓝色の天空 阅读(1241) 评论(0) 推荐(0)
爬虫神器——异步爬虫
摘要:一、背景 有一个项目需要使用到爬虫,因此去Google上搜索了一下,发现除了requests,scrapy,多线程,多进程以外,还有一种方法异步爬虫。使用aiohttp+async来进行网站的爬取。 二、使用 通过以下的指令安装 # 通过指令安装aiohttp pip install aiohttp 阅读全文
posted @ 2020-07-20 20:49 蔚蓝色の天空 阅读(561) 评论(0) 推荐(0)
python中的format方法和int方法
摘要:一、背景 我们在进行计算机进制转换的时候需要用到一些其他的进制,最常见的就是二进制,八进制,16进制。这里介绍两种方法去完成进制之间的转换。 二、使用 2.1 format方法 format方法中包含两个参数,第一个是一个十进制数,第二个参数表示格式化的方法。第二个参数表示的内容如下 # 0填充的字 阅读全文
posted @ 2020-04-12 09:41 蔚蓝色の天空 阅读(1825) 评论(0) 推荐(0)
python调用js代码解决Google翻译中的tk参数
摘要:一、背景 因为这次需要用到一下Google翻译,对英文翻译成中文,通过对Google翻译的分析,发现Google翻译里面有一个很重要参数tk。这个参数在每次翻译之前都会重新生成,只有校验通过了才可以将翻译的结果返回。而这个参数是使用js来生成了的。 二、解决 通过查阅相关的资料,在国外大佬的个人博客 阅读全文
posted @ 2020-04-11 20:59 蔚蓝色の天空 阅读(723) 评论(0) 推荐(0)
Django中解析jQuery发送ajax请求的参数
摘要:背景 本次项目中,使用了vue+Django开发,但是没有构建构建vue项目,使用的是轻量级的vue。因此在解决问题的时候遇到了很多问题,如跨域、网站解析,解决起来比工程项目麻烦。 一、问题 由于没有使用vue整套的解决方案,因此在进行ajax或者是其他请求的时候,需要自己手动完成,因此记录一下自己 阅读全文
posted @ 2020-04-05 21:34 蔚蓝色の天空 阅读(587) 评论(0) 推荐(0)