前言去github搜"pythonorm",最高star居然不是sqlalchemy,而是peewee后来得知peewee,比sqlalchemy简单好用。值得一学哦!!我总体感觉(peewee像Django-ORM的分离版,,但比Django-ORM和SqlAlchemy小巧,简单,文档也友好)还有一个更重要的感觉就是,peewee的API方法名和SQL语句的单词基本相似。例如对比一下(关键词语法都是update和where):SQL语句:updateL
系统 2019-09-27 17:54:51 1979
生活中,有时候我们需要对一些重要的文件进行加密,Python提供了诸如hashlib,base64等便于使用的加密库。但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。记得给公众号加个星标,不会错过精彩内容。基础知识在Python中异或操作符为:^,也可以记作XOR。按位异或的意思是:相同值异或为0,不同值异或为1。具体来讲,有四种可能:0^0=0,0^1=1,1^0=1,1^1=0。我们还可总结出规律(A为0或
系统 2019-09-27 17:54:26 1979
目录一、变量存哪了?二、Python垃圾回收机制2.1引用计数三、小整数池一、变量存哪了?x=10变量存放在内存中这句话太宽泛了,我们把它具体化。对于电脑内存这个大内存,每定义一个变量就会在这个大内存中开辟一个小空间,小空间内存放变量值10,然后内存给这个小空间一个变量名x(门牌号),x指向10。二、Python垃圾回收机制对于p1.py,如果我们再加上一段代码x=11,大内存会开辟另一个小空间存储变量值11,把变量值绑定另一个门牌号x,但是由于之前有x,
系统 2019-09-27 17:54:25 1979
简单的写了一个爬取www.seebug.org上poc的小玩意儿~首先我们进行一定的抓包分析我们遇到的第一个问题就是seebug需要登录才能进行下载,这个很好处理,只需要抓取返回值200的页面,将我们的headers信息复制下来就行了(这里我就不放上我的headers信息了,不过headers里需要修改和注意的内容会在下文讲清楚)headers={'Host':******,'Connection':'close','Accept':******,'Use
系统 2019-09-27 17:54:11 1979
Pythonlist内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。复制代码代码如下:>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如so
系统 2019-09-27 17:54:09 1979
Python标准库中的BaseHTTPServer模块实现了一个基础的HTTP服务器基类和HTTP请求处理类。这在文章python探索之BaseHTTPServer-实现Web服务器介绍中进行了相关的介绍。然而,BaseHTTPServer模块中并没有定义相关的请求方法,诸如GET、HEAD、POST等。在BaseHTTPServer模块的基础上,Python标准库中的SimpleHTTPServer模块实现了简单的GET、HEAD请求。在该模块中,它沿用
系统 2019-09-27 17:53:34 1979
符号说明.默认匹配\n之外的任意字符^匹配字符开头$匹配字符结尾?匹配?前面的字符0次或1次*匹配*前面的字符0次或多次+匹配+前面的字符1次或多次{m}匹配前一个(组)字符m次{n,m}匹配前一个(组)字符[n,m]次|匹配|左或者右的字符符号说明\A只从字符串开始匹配,类似^\Z匹配字符串结尾,类似$\d匹配数字0-9\D匹配非数字\w匹配数字字母\W匹配非数字字母\S匹配空字符\t\n\rpython说明(?P<\name>…)python中可以返回
系统 2019-09-27 17:52:46 1979
函數最初被設計出來,是用來減輕重複coding一段相同的代碼,這之間只有代碼(方法,Method)的重用,但還沒有物件導向OO整個Object的屬性與方法被封裝重用的概念。函數的定義很簡單,使用def這保留字,而其宣告方式如下:def函數名(參數名):例如:>>>defprint_count():#函數宣告...print('Good')...print('Morning')...print('Mr.')...>>>print_count()#函數調用Go
系统 2019-09-27 17:52:34 1979
一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python中,无序此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。#变量未声明>>>xTraceback(mostrecentcalll
系统 2019-09-27 17:52:14 1979
综述多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面。无论何种系统,线程调度的开销都比传统的进程要快得多。Python可以方便地支持多线程。可以快速创建线程、互斥锁、信号量等等元素,支持线程读写同步互斥。美中不足的是,Python的运行在Python虚拟机上,创建的多线程可能是虚拟的线程,需要由Python虚拟机来轮询调度,这大大降低了Python多线程的可用性。希望高版本的Python可以解决这个问题,发挥多CPU的最大效率。网上有些
系统 2019-09-27 17:50:36 1979