最近学习了python的一些服务器端编程,记录在此。发送get/post请求#coding:utf-8importhttplib,urllib#加载模块#urllib可以打开网站去拿#res=urllib.urlopen('http://baidu.com');#printres.headers#定义需要进行发送的数据params=urllib.urlencode({'param':'6'});#定义一些文件头headers={"Content-Type"
系统 2019-09-27 17:38:17 1565
set在python里是什么意思?set是一组数,无序,内容又不能重复,通过调用set()方法创建:>>>s=set(['A','B','C'])对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面,注意大小写敏感:>>>print'A'insTrue>>>print'D'insFalse也通过for来遍历:s=set([('Adam',95),('Lisa',85),('Bart',59)])forxins:printx[0],':',x[1
系统 2019-09-27 17:38:10 1565
安装Tornado省事点可以直接用grequests库,下面用的是tornado的异步client。异步用到了tornado,根据官方文档的例子修改得到一个简单的异步爬虫类。可以参考下最新的文档学习下。pipinstalltornado异步爬虫#!/usr/bin/envpython#-*-coding:utf-8-*-importtimefromdatetimeimporttimedeltafromtornadoimporthttpclient,gen,
系统 2019-09-27 17:38:10 1565
在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通过机器识别的,海量的图片只有机器识别才能做到。那用python能不能实现这种功能呢?答案是:能利用python的PIL模块的强大的图像处理功能就可以做到,下面上代码:importcolorsysdefget_dominant_color(image):#颜色模式转换,以便输出rgb颜色
系统 2019-09-27 17:38:08 1565
python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb1.安装pymysqlpymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysqlpipinstallpymysql32.使用pymysql在我们需要使用数据库的.py文件开头添加下面两行importpymysqlpymysql.install_as_MySQLdb()第一行
系统 2019-09-27 17:38:08 1565
下面先给大家介绍下Python3执行系统命令并获取实时回显最近在改造一些打包的逻辑,原来在Windows下是基于批处理制作的,由于批处理用起来不是很方便,一些实时的计算基本无法胜任,所以转向Python3。但在以前脚本的基础上很多是需要调用系统命令的比如VS编译一个项目,我们需要获取实时的回显知道编译的结果和进度。所以就有了以下方法:@staticmethoddef__external_cmd(cmd,code="utf8"):print(cmd)proc
系统 2019-09-27 17:38:04 1565
前言相信对于python开发人员来说,机器上有不同的python版本是很正常的,因为开发的项目有的用2.6或2.7,有的就要用3.0+版本,如何把这些不同的版本管理好,保持每个环境的干净和独立,方便不同版本之间的切换,这时候就要用到我们的虚拟环境了,所以今天我们就来看看python虚拟环境搭建工具pyenv的使用。1、安装gitclonehttps://github.com/yyuu/pyenv.git~/.pyenvecho‘exportPYENV_RO
系统 2019-09-27 17:38:00 1565
字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值。Python字典也被称为关联数组或哈希表。字典的一般语法如下:dict={'Alice':'2341','Beth':'9102','Cecil':'3258'}可以用下面的方式创建字典:dict1={'abc':456};dict2={'abc':123,98.6:37};每个按键都来自它的值用冒号(:),该项目以逗号分隔,整个事情
系统 2019-09-27 17:37:59 1565
GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL
系统 2019-09-27 17:37:58 1565
Python安装Django本身是纯Python编写的,所以安装框架的第一步是确保你已经安装了Python。Python版本核心Django框架可以工作在2.3至2.6(包括2.3和2.6)之间的任何Python版本。Django的可选GIS(地理信息系统)支持需要Python2.4到2.6。如果你不确定要安装Python的什么版本,并且你完全拿不定主意的话,那就选2.x系列的最新版本吧。版本2.6。虽然Django在2.3至2.6版之间的任意Python
系统 2019-09-27 17:37:57 1565
Python实现模拟时钟代码推荐#coding=utf8importsys,pygame,math,randomfrompygame.localsimport*fromdatetimeimportdatetime,date,timedefprint_text(font,x,y,text,color=(255,255,255)):imgtext=font.render(text,True,color)screen.blit(imgtext,(x,y))def
系统 2019-09-27 17:37:56 1565
第一步:升级pythonCentOs6.x的系统默认安装的Python版本是2.6.x,想升级到Python2.7.x,从官方下载源文件,然后解压、编译wgethttp://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xzunxzPython-2.7.10.tar.xztar-vxfPython-2.7.10.tar执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录并执行以下命
系统 2019-09-27 17:37:55 1565
单继承时super()和__init__()实现的功能是类似的classBase(object):def__init__(self):print'Basecreate'classchildA(Base):def__init__(self):print'creatA',Base.__init__(self)classchildB(Base):def__init__(self):print'creatB',super(childB,self).__init__
系统 2019-09-27 17:37:52 1565
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2的使用细节。Proxy的设置Timeout设置在HTTPRequest中加入特定的HeaderRedirectCookie使用HTTP的PUT和DELETE方法得到HTTP的返回码DebugLogProxy的设置urllib2默认会使用环境变量http_proxy来设置HTTPProxy。如果想
系统 2019-09-27 17:37:51 1565
1、raw_input():raw_input()是python的内建函数,通过读取控制台的输入与用户实现交互。raw_input()可以让用户输入字符串(即等待用户输入内容),并存放到一个变量里。#!/usr/bin/envpython#-*-coding:utf-8-*-#将用户输入的内容赋值给变量useruser=raw_input("请输入用户名:")#将用户输入的内容赋值给变量pwdpwd=raw_input("请输入密码:")#打印输入的内容p
系统 2019-09-27 17:37:51 1565