python
文章平均质量分 62
onlyanyz
用心创造美好生活
展开
-
python多进程
要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。转载 2015-04-14 11:01:24 · 1054 阅读 · 1 评论 -
python中的下划线
1,以一个下划线开头的命名 ,如_getFile这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_module import * 导入时,这部分变量和函数不会被导入。不过值得注意的是,如果使用 import a_module 这样导入模块,仍然可以用 a_module._some_var 这样的形式访问到这样的对象。这种变量叫做“保护变量原创 2015-04-17 16:54:02 · 885 阅读 · 0 评论 -
python发送http请求之requests模块
python的requests模块比urllib、urllib2模块的接口更简洁。以下转自:http://blog.csdn.net/iloveyin/article/details/21444613迫不及待了吗?本页内容为如何入门Requests提供了很好的指引。其假设你已经安装了Requests。如果还没有, 去 安装 一节看看吧。首先,确认一下:Reque转载 2015-04-29 16:58:32 · 23703 阅读 · 2 评论 -
Python中的eval(),exec,execfile(),compile()
今天介绍下Python中的eval(),exec,execfile(),compile()。一、eval()eval(str)函数将括号中的字符串当成一个有效的Python表达式来计算,并返回计算结果。例如:二、execexec语句将字符串当成有效的Python代码来执行,但不返回任何对象。例如:三、execfile()execfile()方法可以执行一个P原创 2015-05-09 13:55:22 · 1501 阅读 · 0 评论 -
Python的内存管理以及垃圾回收
参考:http://www.cnblogs.com/CBDoctor/p/3781078.html先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲(1)垃圾回收(2)引用计数(3)内存池机制一、垃圾回收:python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型转载 2015-05-09 22:46:11 · 22245 阅读 · 2 评论 -
Python命名规范参考
Python中类、模块、变量等的命名规则 1)命名格式 如下图所示: 2)用 has 或 is 前缀命名布尔元素 如:is_connect = True has_member = False 参考文献:http://wenku.baidu.com/link?url=h0IHsrH_nLZcOi-AN-NJd9lsFFsLshgc4YeOnAH7rQ原创 2015-04-27 23:49:46 · 708 阅读 · 0 评论 -
Python使用xlwt写excel并设置写入格式
关于写excel的格式控制,比如颜色等等import xlwtfrom datetime import datetime font0 = xlwt.Font()font0.name = 'Times New Roman'font0.colour_index = 2font0.bold = True style0 = xlwt.XFStyle()s转载 2015-04-28 23:48:51 · 33995 阅读 · 0 评论 -
Python datetime / time 转换
from datetime import datetimeimport time#-------------------------------------------------# conversions to strings#-------------------------------------------------# datetime object to stringdt_obj =转载 2015-05-13 15:37:29 · 1217 阅读 · 0 评论 -
python操作mysql实例代码
本文介绍了Python操作MYSQL、执行SQL语句、获取结果集、遍历结果集、取得某个字段、获取表字段名、将图片插入数据库、执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐实例1、取得MYSQL的版本在windows环境下安装mysql模块用于python开发MySQL-python Windows下EXE安装文件下载转载 2015-05-13 15:36:00 · 714 阅读 · 0 评论 -
python访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 98)>>> bart.score98>>> bart.score = 59>>> bar转载 2015-04-17 16:07:10 · 702 阅读 · 0 评论 -
python中的闭包
原文链接:http://www.cnblogs.com/ma6174/archive/2013/04/15/3022548.html什么是闭包?简单说,闭包就是根据不同的配置信息得到不同的结果再来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创转载 2015-04-09 21:22:09 · 565 阅读 · 0 评论 -
Python函数式编程——map()、reduce()
原文链接提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年Apache的Hadoop项目[2]正式将MapReduce纳入到项目中。好吧,闲话少说,今天要介绍的是Python函数式编程中的另外两个内建函数map()和redu转载 2015-04-09 18:48:02 · 1055 阅读 · 0 评论 -
python元组
转自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819318453af120e8751ea4d2696d8a1ffa5ffdfd7000#0要定义一个只有1个元素的tuple,如果你这么定义:>>> t = (1)>>> t1Try转载 2015-04-08 21:18:56 · 485 阅读 · 0 评论 -
python set集合
点击跳转原文链接setset和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。要创建一个set,需要提供一个list作为输入集合:>>> s = set([1, 2, 3])>>> sset([1, 2, 3])注意,传入的参数[1, 2, 3]是一个list,而显示的set(转载 2015-04-09 10:38:19 · 788 阅读 · 0 评论 -
python函数参数详解
点击跳转到原文链接定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参转载 2015-04-09 11:50:18 · 808 阅读 · 0 评论 -
python迭代
原文链接:如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) { n = list[i];转载 2015-04-09 15:28:26 · 643 阅读 · 0 评论 -
python 排序sorted()
排序算法排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x ,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心转载 2015-04-09 19:06:10 · 4009 阅读 · 0 评论 -
python实现各种排序算法
Python有自己的列表排序方法,就是sorted函数和sort()函数,区别是:sorted函数返回一个有序的序列副本,而sort()函数直接在当前列表进行排序,不创建副本,故sort()函数返回None。一般来说,返回None表示是在 原对象上进行操作,而返回排序的结果则表示创建了一个副本。代码如下:unsortedList=[]unsortedList=[55, 91, 63,原创 2015-04-21 22:34:08 · 5525 阅读 · 0 评论 -
python生成器Generator
原文链接通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Py转载 2015-04-09 16:46:31 · 808 阅读 · 0 评论 -
python zip()方法
原文链接一、代码引导首先看这一段代码: 1 >>> name=('jack','beginman','sony','pcky') 2 >>> age=(2001,2003,2005,2000) 3 >>> for a,n in zip(name,age): 4 print a,n 5 6 输出: 7 jack 2001 8 beginman 20转载 2015-04-09 17:49:25 · 5227 阅读 · 0 评论 -
Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
这两天在用python调用接口时,因为接口返回的是str类型的数据,形如:因为这样的str类似字典,所以我想把它转为字典以便处理,使用的是eval来进行转换,如下:a='{"errno":0,"errmsg":null,"unassigned":0,"total":0,"list":null}'a=eval(a)print type(a)结果出现错误如下:NameE原创 2015-05-15 15:28:38 · 32171 阅读 · 3 评论 -
python MySQLdb API的数据库更新操作
这两天在使用python执行sql语句时(更新操作),发现对数据库没有影响,但是每次程序返回的值都是正确的,查了资料才发现python的MySQLdb的API把数据库更新语句作为事务来执行,这样的话,虽然使用execute语句执行了sql,但是并没有真的对数据库进行改变,除非使用commit方法来显示的提交事务才可对数据库造成影响,否则,数据库会自动回滚。那么怎么解决呢?如果我们的sql语句有多条原创 2015-05-14 16:04:12 · 2595 阅读 · 0 评论 -
selenium借助autoit操作上传下载对话框
虫师有一篇文章写的不错,链接如下:http://www.cnblogs.com/fnng/p/4188162.html他的文章把upload.exe需要上传的文件写死了,下面的内容作为补充。如果不想把上传过程写死,例如,想在程序中指定要上传的文件,把文件路径作为参数传递给upload.exe进行上传,也是可以的,autoit可以使用参数化做到这一点,见下面的autoit脚本:原创 2015-06-10 22:14:05 · 2723 阅读 · 0 评论 -
request.META里包含了哪些数据?
request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号)。 注意,Header信息的完整列表取决于用户所发送的Header信息和服务器端设置的Header信息。 这个字典中几个常见的键值有:HTTP_REFERER,进站前链接网页,如果有的话。 (请注意,它是REFERRER的笔误。)转载 2015-07-08 17:24:04 · 12772 阅读 · 0 评论 -
使用Tkinter编写一个简单的提醒小程序
作为IT狗,经常在电脑前坐着总不大好,于是就想自己写一个windows程序来提醒自己每隔一小时站起来休息一下,自然选中了python自带的Tkinter,简单就好,不需要多复杂的界面。参考了这篇文章,链接:http://lovekaiyuan.iteye.com/blog/2208044下面附上程序(reminder.py)。#!/usr/bin/python# -*- coding原创 2015-06-10 21:06:47 · 6300 阅读 · 3 评论 -
django中使用south同步对model的修改
1.安装south:pip install south2.把south添加到INSTALLED_APPS中3.运行syncdb命令:python manage.py syncdb(该命令会读取INSTALLED_APPS,检测到south后,会生成south_migrationhistory数据表4.运行命令:python manage.py schemamigration youra原创 2015-07-28 15:08:40 · 1714 阅读 · 0 评论 -
python selenium中调用执行js
在编写自动化测试的时候,可能会碰到这样的情况:某个文本框用来选择日期,并且该文本框是只读的,这时我们不太好对该时间控件进行原生selenium api的操作,那么就可以直接执行js,直接设置该文本框的值。网上有用这种方法的:js="document.getElementByName('startdate').removeAttribute('readonly');document.getEle原创 2015-07-23 21:15:16 · 10528 阅读 · 0 评论 -
python数据类型与json的互相转换
json.dumps():接收python类型的数据作为参数,返回了一个str对象的encodedjson(从python数据转换为json);json.loads():接收json字符串,返回python类型的数据(从json字符串转换为python数据)原创 2015-07-23 21:30:17 · 10316 阅读 · 0 评论 -
python re 模块 findall 函数用法简述
[python] view plaincopy>>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " >>> reObj1 = re.compile('((\w+)\s+\w+)') >>> reObj1.findall(s) [('adfad asdfas转载 2015-10-10 11:56:50 · 3974 阅读 · 0 评论 -
每天一个python模块之Requests
原文链接:http://www.yyztech.com/archives/54/我的站点:http://www.yyztech.com/动笔前就已经想到,这将会是一个很长系列的文章,因为python有用的模块太多了。那么,就从这个最长用到的Requests模块开始吧!Requests模块是一个用于网络访问的模块,其实类似的模块有很多,比如urllib,urllib2,httplib,htt原创 2015-11-24 22:11:25 · 7488 阅读 · 0 评论 -
python第三方模块之pyquery
pyquery是一个类似jquery的python库,可以使用像jquery那样的语法来提取网页中的任何数据,这个用于数据分析和挖掘还是一个比较不错的第三方库的。具体的用法网上介绍的还是比较多的,这里给出一个链接可以参考:http://blog.csdn.net/cnmilan/article/details/8727308下面我将以抓取豆瓣图书top250为例来介绍该模块。首先分析下原创 2015-06-10 21:53:14 · 2811 阅读 · 0 评论 -
总结Django中的用户权限模块
此文是总结Django官方网站里面的Document的文章 User authentication in Djangohttp://www.djangoproject.com/documentation/authentication/该模块由用户(Users)权限(Permissions)组(Groups)消息(Messages)这些从字面上也都很好的理解,转载 2015-07-08 16:53:13 · 5932 阅读 · 1 评论 -
python推荐第三方库之sandglass(用于时间处理)
转自:https://github.com/kzczencode/sandglasssandglass安装可以:easy_install sandglass或者:pip install sandglass概览sandglass(沙漏) 是一个增强的、友好的时间处理库,目的是为了解放程序员的生产力。 在python中有太多处理时间的转载 2015-06-02 20:31:49 · 1420 阅读 · 0 评论 -
Python装饰器 Decorator
原文链接由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print '2013-12-25'...>>> f = now>>> f()2013-12-25Try函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__name__'now'>>> f.__na转载 2015-04-10 07:56:36 · 832 阅读 · 0 评论 -
为什么有如此多的Python版本
转自:http://www.oschina.net/translate/why-are-there-so-many-pythons?p=1#comments参与翻译(4人):一刀, 青崖白鹿, 嘉陵江的小鱼, yfwz100Python是出类拔萃的然而,这是一句非常模棱两可的话。这里的"Python"到底指的是什么? 是Python的抽象接口吗?是Pytho转载 2015-05-07 22:48:12 · 866 阅读 · 0 评论 -
说说Python程序的执行过程
转自:http://www.cnblogs.com/kym/archive/2012/05/14/2498728.html说说Python程序的执行过程1. Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生转载 2015-05-07 23:14:42 · 9211 阅读 · 0 评论 -
python对cookie的操作模块-cookielib
使用python可以用标准模块cookielib来对cookie进行操作,包括设置cookie,获取cookie等。代码如下:#!/usr/bin/python# -*- coding: utf-8 -*-import cookielibimport urllib2def make_cookie(name,value): return cookielib.Cookie(原创 2015-05-07 15:42:49 · 3437 阅读 · 0 评论 -
Python用于排序的模块——bisect
今天同事说到了一个python的排序模块bisect,觉得挺有趣的,跟大家分享分享。 先看看模块的结构: 前面五个属性大家感兴趣可以打出来看看数值,这里就不介绍了。 先说明的是,使用这个模块的函数前先确保操作的列表是已排序的。 先看看 insort 函数:转载 2015-05-17 15:36:51 · 656 阅读 · 0 评论 -
selenium之python自动化测试系列:使用chrome或firefox的已存在的cookie访问网站
我们在编写自动化测试中,经常会遇到讨厌的验证码。这些验证码倒也不是没法识别,我们可以把网页截图,再精确定位到验证码的图片位置,把之存储,然后再运用一堆方法去达到识别的目的。但是,这真值得么?对于简单的验证码,用程序可以达到较大的成功率,但是对于那些噪点非常多、且上下参差不齐的验证码,就不太好识别了。因此,我们可以换个角度来思考:如果我们在跑自动化程序之前,已经登录了某个网站,那么,我们就可以跳原创 2015-05-21 11:03:26 · 11504 阅读 · 6 评论 -
Python用于取top N的模块——heapq
Python有一个专门用于取前几大或前几小的模块,就是heapq,下面代码说明:>>> import heapq>>> list1=[2, 3, 3, 4, 7, 9]>>> nLargestList=heapq.nlargest(3,list1)>>> print nLargestList[9, 7, 4]>>> nSmallestList=heapq.nsmallest(3,li转载 2015-05-17 17:09:00 · 4344 阅读 · 0 评论