
Python
文章平均质量分 89
魔笛手CTO
人生看淡,不服就干
展开
-
【译】urllib.parse文档--这里有关于URL的一切
本模块定义了一个标准接口,既可以把统一资源定位符(URL)解析为若干部分(通信协议,网络地址和路径等),也可以把各个部分重新组合成URL,还可以利用“基本URL”把相对路径转化为绝对路径。本模块设计之初就考虑到要兼容一系列和URL相关的RFC标准。目前能够支持的URL协议包括:file, ftp, gopher, hdl,http, https, imap, mailto, mms, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips..原创 2020-06-14 10:51:12 · 461 阅读 · 0 评论 -
关于sqlalchemy中键值以双下划线开头导致Unknown column错误的问题
在开发中遇到了一个奇葩的问题,设计的数据库其中有Column以双下划线开头,导致在运行中出现错误。现在以例子来复现并解决错误。 首先创建数据表CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, __name VARCHAR(16), age INT);该表为包含主键id,和另外两个col...原创 2018-04-15 00:04:57 · 1557 阅读 · 0 评论 -
python爬虫知识梳理——大纲
做了一些爬虫项目,想通过博客来梳理一下爬虫思路,总结一下经验,计划用一个系列若干博文来完成计划从 一、http协议 1、python爬虫知识梳理——HTTP协议(概述) 2、python爬虫知识梳理——HTTP协议(请求) 3、python爬虫知识梳理——HTTP协议(响应) 二、request...原创 2018-05-06 22:16:22 · 1070 阅读 · 0 评论 -
python爬虫知识梳理——HTTP协议(概述)
我们写爬虫是为了爬取网站数据,而网站的数据传输都是基于HTTP的。HTTP协议不同于我们平常所见HTML页面,HTML页面只是HTTP协议里面一个可视化的子集。HTTP(HyperText Transfer Protocol,超文本传输协议)是基于TCP的C/S架构的一种用于传输超文本的网络协议。掌握了HTTP协议,后面爬虫遇到的很多问题都可以迎刃而解了。 一、HTTP之...原创 2018-05-21 19:44:53 · 392 阅读 · 0 评论 -
python爬虫知识梳理——HTTP协议(请求)
二、HTTP请求 1、一个完整的请求可以分为请求行、请求头 、请求数据(非必要) 1.1、请求行 请求行位于整个请求的开头,请求行自身又可以分为请求方式、请求的URI、请求采用的HTTP协议版本号, 相互之间以空格划分。 目前HTTP协议版本为HTTP1.1、HTTP1.0、HTTP0.9,主流版本为1.1 。 HTTP1.1版本中支...原创 2018-05-21 19:49:54 · 323 阅读 · 0 评论 -
python爬虫知识梳理——HTTP协议(响应)
三、HTTP响应1、一个完整的请求可以分为响应行、响应头 、响应数据 1.1 响应行 响应行又可以分为协议版本、状态码、状态描述。 协议版本并非一定会对应请求的版本。 状态描述简短的描述了状态码,其中常用的状态码有200(响应正常)、404(页面找不到)、502(服务器内部错误)。开发爬虫的过程中经常还会见到302(重定向)、40...原创 2018-05-21 20:25:59 · 776 阅读 · 0 评论 -
python爬虫知识梳理——requests库的使用
requests库是如此的简洁好用,以至于爬虫神器。我也用过urllib2,保持了python的文件操作的接口,使用操作过文件、数据库之类的,使用urllib2会感到很熟悉,但是不可否就是繁琐。我也用过scrapy,高度抽象了爬虫的编写流程,以框架的形式提供,讲道理,在我用习惯了requests之后,每次想要尝试scrapy都半途而废。 requests的使用手册有官方文档,支持中...原创 2018-07-10 18:40:15 · 331 阅读 · 0 评论 -
Django中的QueryDict元素为数组的坑
一般在Django的视图函数中使用request.POST来获取请求体,request.POST是QueryDict类,通常作为dict来使用。正常如下图但是昨天在使用的时候遇到一个错误,提示从QueryDict里面pop出来的值类型为list。一脸懵逼 在命令行敲代码,发现了这个坑, 如下图可以看到,pop出来的值被放在的一个list里面。关键这个不同版本之间,行...原创 2018-11-10 17:19:59 · 1923 阅读 · 0 评论 -
Django模型层文档笔记——字段类型
字段类型整数类型 BigIntegerField (Django支持的取值范围:-2××63~2××63-1) PositiveIntegerField(Django支持的取值范围:0~2××31-1) IntegerField(Django支持的取值范围:-2××31~2××31-1) SmallIntegerField...原创 2019-02-12 21:45:02 · 382 阅读 · 0 评论 -
redis-py连接池的实现
说起连接池,可能很多人直接望而却步,觉得好复杂,还是直接调用别人现成的好了,其实都是连接池也是扮猪吃老虎。但是之前看redis-py连接池的实现,觉得好简单,但是却又很巧妙,正好最近又在研究redis-py的连接池,将连接池相关的实现抽象出来,接单说明一下。class Connection: def __init(self, **db_info): """初始化需...原创 2019-07-16 22:14:55 · 627 阅读 · 0 评论 -
教你用python高效刷leetcode
由于Python语法的简洁性,用python来刷leetcode往往能用比别的语言更少的代码量AC。但是如果不是对python很熟悉就会比较尴尬了,如果有些功能明明有高效的内置方法因为不知道要自己实现、或者不了解其复杂度提交时出现超时。我总结了一下自己在刷leetcode时关于python这个语言的经常被使用的数据结构和内置方法。基础离开数据结构,算法就是空中楼阁,所以了解pyth...原创 2019-08-24 17:07:37 · 9158 阅读 · 1 评论 -
解析IOS二进制格式的bplist
关于二进制格式的plist,搜到一篇博客《详解Binary Plist格式》,介绍的很详细,但是结合github上关于一份解析bplist的代码通过结果实际来看,博客中解析对象表的说明出现了问题,同原文不同处贴在下面 类型 HEX 说明 单字节 0X X=0:空值 X=8:布尔假 X=9:布尔真 整数 1X 后面跟的2^X个字节就是这个数字...原创 2017-07-18 14:13:40 · 6921 阅读 · 1 评论 -
cmd下文件md5查看插件
文件md5可以帮助我们检测文件是否被篡改或者比较两个文件是否含有完全相同的内容,在linux及mac系统之中,都可以在终端窗口使用md5命令查看指定文件的md5值,然而在微软window系统的cmd下却没有简单的命令帮助我们查看文件md5值。本程序利用python实现输出指定文件的md5值,在添加环境变量之后可以方便的在cmd下使用,用例如下:附录原创 2017-05-03 18:28:41 · 3552 阅读 · 0 评论 -
判定200以内的数字的平方是否为回文数
#定义函数pd判定变量s是否为回文,如果是返回Truedef pd(s): s=str(s) a=0 b=len(s)-1 value=True while a<=b: if s[a]==s[b]: a+=1 b-=1 else: value=Fals原创 2016-01-26 15:18:37 · 845 阅读 · 0 评论 -
flask-mai发送邮件503,553错误
在flask web开发中,按照书本编写代码,出现503,553错误环境变量设置出错,同时环境变量一旦更改,请重启执行窗口, 如ilde,powershell 新开公众号“码家村”,欢迎关注...原创 2016-05-11 20:37:21 · 811 阅读 · 0 评论 -
flask搭建个人博客(一)——规划
博客的功能需求:1,管理员添加文章,其他用户(包括匿名)只能浏览、评论、点赞2,开放留言板功能,在博客首页留言板专区3,注册用户有资料展示页面,在登录状态下可以编辑本人资料后端的文件架构原创 2016-05-19 14:03:42 · 826 阅读 · 0 评论 -
flask搭建个人博客(二)——骨架、数据库
编写骨架程序manage.pyconfig.pyapp/main/__init__.pyapp/auth/__init__.pyapp/email.pyapp/models.py设计数据库models简单的创建四个table:roles,users,comments,articles对应关系原创 2016-05-19 22:16:00 · 884 阅读 · 0 评论 -
flask搭建个人博客(三)——后端视图函数
区分主蓝图和用户功能蓝图主蓝图用户展示首页、文章、留言及用户个人资料页,同时处理400及500错误用户功能蓝图用于实现用户注册、登录、更改资料、忘记密码等功能待完善功能分页github地址(第四次提交):https://github.com/lightopen/zbolg原创 2016-05-21 08:55:46 · 554 阅读 · 0 评论 -
flask搭建个人博客(四)——前端模板
距离上次都已经半个月了。。。。。这次主要是编写前端模板,用到了bootstrap,讲究能看, 比自己写css好多了。。。。同时修改了部分后端代码,添加了管理员功能主体已全部完成, 待部署完成后再进行功能和代码的优化github地址(第五次提交):https://github.com/lightopen/zbolg原创 2016-06-05 18:48:20 · 1671 阅读 · 0 评论 -
python类内部 "__*__" 方法的作用
#本文是慕课网《Python项目实战-核心技术进阶训练篇》的学习笔记 __new__()本身是一个类方法,先于__init__()执行,返回一个实例,可以改变实例化行为 class MyClass(tuple): def __new__(cls, *args): a = [x for x in args] return super...原创 2016-10-12 15:02:30 · 2166 阅读 · 0 评论 -
python操作二进制文件
由于工作的原因之前了解了一下python对于二进制的一些基础,但是一是没看懂, 二是又忘了。最近又看了一下,总结出一点东西。pythoh对二进制文件的操作离不开struct模块,该模块有两个基础接口:pack()打包至二进制help(struct.pack)Help on built-in function pack in module _struct:p...原创 2016-10-04 21:19:48 · 5267 阅读 · 0 评论 -
python文件读写的缓冲行为
文件的io操作的缓冲行为分为全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作行缓冲:遇到换行符执行一次写操作无缓冲:立刻执行写操作open()函数help(open)Help on built-in function open in module io:open(...) open(file, mode='r', buffering=-1,...原创 2016-10-04 22:06:17 · 6191 阅读 · 0 评论 -
文本长度与字符长度不一致的问题
做练习的时候发现用python读取文件,同一个文件读取相同长度在文本模式和字符模式下输出不一致,很奇怪。测试文件如下:通过python的open函数,指定不同的读模式:文本模式下输出长度为11,字节模式下输出长度为12可以看出来区别就在于换行符,用notepad++的二进制模式查看一下文件不同的操作系统有着不同的换行符,也是源远流长了,有些坑要亲自趟过了才能记得牢...原创 2017-01-01 14:55:10 · 3151 阅读 · 0 评论 -
python打印等腰三角形
d=int(input('enter an int:'))l=[' '*(2*d-1)]*d #初始化列表for i in range(d): l[i]=list(l[i]) #字符串转列表 x=i y=0 x=d-x-1 #确定每行首项 l[i][x]="*" while y<i: x+=2 #公差为2 ...原创 2016-01-25 22:33:35 · 11787 阅读 · 0 评论