经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容。我的做法是只用一个python2的代码库,然后在安装的时候用2to3工具翻译成python3。不幸的是哪怕一点点的改动都会打破迭代开发。如果你选对了python的版本,你可以专心做事,幸运的避免了这个问题。来自MoinMoin项目的ThomasWaldmann通过我的python-modernize跑jinja2,并且统一了代码库,能同时跑python2,
系统 2019-09-27 17:49:06 1826
下面看下python2.x和python3.x的区别1.大环境不同python2.x:源码重复,不规范python3.x:整合源码,更清晰优美简单2.默认编码不同python2.x:默认编码ASCII编码python3.x:默认编码UTF-83.python3.x没有长整型python2.x:有长整型longpython3.x:long整数类型被废弃,统一为int4.打印方式不同python2.x:print语句,print空格+打印内容python3.x
系统 2019-09-27 17:48:49 1826
在Python3.x的世界里,cmp函数没有了。那么sorted,min,max等需要比较函数作为参数的函数该如何用呢?以min函数的定义为例,有两种重载形式:单参数(一个迭代器):复制代码代码如下:min(iterable[,key=func])->value多参数(多个待比较内容):复制代码代码如下:min(a,b,c,...[,key=func])->value本文主要讨论key=func参数的使用。举例说明吧:1.自定义对象的比较我定义了一个类te
系统 2019-09-27 17:48:44 1826
配置文件配置文件[]中为section命名,幸运28平台搭建q<277.03.4.83.6>section的命名可以包含空格,每个section下面以键值对的方式保存配置内容,在读取配置时键值对全部解析为字符串,因此在配置时无需为字符串添加引号settings.conf文件定义[mysqlsettings]host=10.250.218.51port=3306username=adminpassword=admin123coding=utf8[oracle
系统 2019-09-27 17:48:43 1826
看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是linux中经常会用到的ls命令。文章中我就提到如何提升自己的python能力呢?直接找项目写,但是作为零基础/小白/入门的你来说做一个博客还要学web框架、html、css、js,又成为了阻碍你写实际项目的阻碍。所以我就推荐了这个命令:ls。写一个ls非常简单,你只需要会一点linux的基础知识,知道ls能做什么就好了。那今天就给大家码了一
系统 2019-09-27 17:48:24 1826
还是分析一下大体的流程:首先还是Chrome浏览器抓包分析元素,这是网址:https://www.douyu.com/directory/all发现所有房间的信息都是保存在一个无序列表中的li中,所以我们可以先获取一个装有li的element对象的列表,然后在对每个element逐一操作分析斗鱼的翻页,有一个下一页按钮,是个li,class="dy-Pagination-item-custom",但是当烦到最后一页的时候,class="dy-Paginat
系统 2019-09-27 17:47:21 1826
仔细研读后学习了三个函数:eval:计算字符串中的表达式exec:执行字符串中的语句execfile:用来执行一个文件需注意的是,exec是一个语句,而eval()和execfile()则是内建built-in函数。Python2.7.2(default,Jun122011,15:08:59)[MSCv.150032bit(Intel)]onwin32Type"help","copyright","credits"or"license"formoreinf
系统 2019-09-27 17:46:53 1826
如果给定的键在字典可用,has_key()方法返回true,否则返回false。语法以下是has_key()方法的语法:dict.has_key(key)参数key--这是要搜索在字典中的键。返回值此方法返回true,如果给定键在字典可用,否则返回false。例子下面的例子显示了has_key()方法的使用。#!/usr/bin/pythondict={'Name':'Zara','Age':7}print"Value:%s"%dict.has_key('
系统 2019-09-27 17:46:48 1826
PythonSocket模块中包含一些有用IP转换函数,说明如下:socket.ntohl(x)//类似于C语言的ntohl(x)把32位正整数从网络序转换成主机字节序。socket.ntohs(x)//类似于C语言的ntohs(x)把16位正整数从网络序转换成主机字节序。socket.htonl(x)//类似于C语言的htonl(x)把32位正整数从主机字节序转换成网络序。socket.htons(x)//类似于C语言的htons(x)把16位正整数从主
系统 2019-09-27 17:46:35 1826
#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此时生成的大顶堆,满足每个根节点为子树中最大,因此,之后只需要对最顶的子树进行调整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust
系统 2019-09-27 17:45:50 1826