自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

转载 Python装饰器学习

这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。第一步:最简单的函数,准备附加额外功能12345678# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次''' def myfunc():

2014-05-02 15:56:16 746

转载 Python装饰器与面向切面编程

今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。1. 装饰器入门1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。

2014-05-02 15:51:19 813

转载 Python装饰器学习

在《Core Python Programming 2nd》中学习到了装饰器,这对我来说是个完全陌生的语法,第一遍愣是没看懂,很有必要记一下。 第一眼看到这个词Decorator,我联想到了DP中的Decorator模式,后来才知道完全不是这么一回事。(再次鄙视一下国内浮躁的博客,我google了一下,几乎千篇一律都是什么锁同步装饰器、超时装饰器,我对原作者表达敬仰,可是大家都是转

2014-05-02 15:47:24 576

转载 比较详细Python正则表达式操作指南(re使用)[12]

贪婪 vs 不贪婪当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式。当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号时这个事实经常困扰你。匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的#!python>>> s = 'Title'>>> len(s)32>>> print re.match('

2014-04-19 23:14:08 939

转载 比较详细Python正则表达式操作指南(re使用)[11]

在下面的例子里,替换函数将十进制翻译成十六进制:#!python>>> def hexrepl( match ): "Return the hex string for a decimal number" value = int( match.group() ) return hex(value)>>> p = re.compil

2014-04-19 23:13:21 724

转载 比较详细Python正则表达式操作指南(re使用)[10]

搜索和替换其他常见的用途就是找到所有模式匹配的字符串并用不同的字符串来替换它们。sub() 方法提供一个替换值,可以是字符串或一个函数,和一个要被处理的字符串。sub(replacement, string[, count = 0])返回的字符串是在字符串中用 RE 最左边不重复的匹配来替换。如果模式没有发现,字符将被没有改变地返回。可选参数 count 是

2014-04-19 23:12:39 711

转载 比较详细Python正则表达式操作指南(re使用)[9]

将字符串分片`RegexObject` 的 split() 方法在 RE 匹配的地方将字符串分片,将返回列表。它同字符串的 split() 方法相似但提供更多的定界符;split()只支持空白符和固定字符串。就象你预料的那样,也有一个模块级的 re.split() 函数。split(string [, maxsplit = 0])通过正则表达式将字符串分片。如果捕获括号

2014-04-19 23:11:43 534

转载 比较详细Python正则表达式操作指南(re使用)[8]

前向界定符另一个零宽界定符(zero-width assertion)是前向界定符。前向界定符包括前向肯定界定符和後向肯定界定符,所下所示:(?=...)前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩馀部分还要尝试界定符的右边。(?!...)前向否定界定符。与

2014-04-19 23:10:52 994

转载 比较详细Python正则表达式操作指南(re使用)[7]

无捕获组和命名组精心设计的 REs 也许会用很多组,既可以捕获感兴趣的子串,又可以分组和结构化 RE 本身。在复杂的 REs 里,追踪组号变得困难。有两个功能可以对这个问题有所帮助。它们也都使用正则表达式扩展的通用语法,因此我们来看看第一个。Perl 5 对标准正则表达式增加了几个附加功能,Python 的 re 模块也支持其中的大部分。选择一个新的单按键元字符或一个以 "

2014-04-19 23:10:02 576

转载 比较详细Python正则表达式操作指南(re使用)[6]

分组你经常需要得到比 RE 是否匹配还要多的信息。正则表达式常常用来分析字符串,编写一个 RE 匹配感兴趣的部分并将其分成几个小组。举个例子,一个 RFC-822 的头部用 ":" 隔成一个头部名和一个值,这就可以通过编写一个正则表达式匹配整个头部,用一组匹配头部名,另一组匹配头部值的方式来处理。组是通过 "(" 和 ")" 元字符来标识的。 "(" 和 ")" 有很多在数

2014-04-19 23:08:56 754

转载 比较详细Python正则表达式操作指南(re使用)[5]

更多的元字符还有一些我们还没展示的元字符,其中的大部分将在本节展示。剩下来要讨论的一部分元字符是零宽界定符(zero-width assertions)。它们并不会使引擎在处理字符串时更快;相反,它们根本就没有对应任何字符,只是简单的成功或失败。举个例子, "b 是一个在单词边界定位当前位置的界定符(assertions),这个位置根本就不会被 "b 改变。这意味着零宽界定符(

2014-04-19 23:08:16 1149

转载 比较详细Python正则表达式操作指南(re使用)[4]

#!python>>> iterator = p.finditer('12 drummers drumming, 11  10 ')>>> iteratorcallable-iterator object at 0x401833ac>>>> for match in iterator: print match.span()(0, 2)

2014-04-19 23:07:31 981

转载 比较详细Python正则表达式操作指南(re使用)[3]

现在,你可以试着用 RE 的 [a-z]+ 去匹配不同的字符串。一个空字符串将根本不能匹配,因为 + 的意思是 “一个或更多的重复次数”。在这种情况下 match() 将返回 None,因为它使解释器没有输出。你可以明确地打印出 match() 的结果来弄清这一点。#!python>>> p.match("")>>> print p.match("")None

2014-04-19 23:06:40 1012

转载 比较详细Python正则表达式操作指南(re使用)[2]

使用正则表达式现在我们已经看了一些简单的正则表达式,那么我们实际在 Python 中是如何使用它们的呢? re 模块提供了一个正则表达式引擎的接口,可以让你将 REs 编译成对象并用它们来进行匹配。编译正则表达式正则表达式被编译成 `RegexObject` 实例,可以为不同的操作提供方法,如模式匹配搜索或字符串替换。#!python>>> import re>>>

2014-04-19 23:02:51 900

转载 比较详细Python正则表达式操作指南(re使用)[1]

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块,当然偶尔你还是可能在老代码里发现其踪影。 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,

2014-04-19 22:57:58 909

转载 Python 代码调试技巧使用 PyDev 进行调试

使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。表 1. pdb 常用命令命令解释break 或 b 设置断点设置断

2014-04-19 09:30:21 21692

转载 MongoDB忘记密码、批量插入等命令

下午刚设置的密码,当时忘记保存,晚上去吃了个晚饭回来就忘记了。研究了一会发现也不难,不过网上没有直接搜到就记录一下,按照以下步骤操作即可操作步骤:复制代码代码如下:vim /etc/mongodb.conf          # 修改 mongodb 配置,将 auth = true 注释掉,或者改成 falseservice mongodb restart  

2014-04-13 22:14:55 4294 1

转载 mongo的常用操作

查询 name = "bruce" 的数据db.users.find({ name : "bruce" });条件操作符$gt : >$lt : $gte: >=$lte: $ne : !=、$in : in$nin: not in$all: all$not: 反匹配(1.3.3及以上版本)查询 name = 18 的数据db.users

2014-04-13 21:41:16 3142

转载 mongodb如何判断一次操作是否成功

MongoDB核心开发工程师 Kristina Chodorow(@kchodorow) 最近在她的博客上表示,她会发表一系列关于MongoDB Replica Sets相关的文章,向大家详细的进行一次 Replica Sets的知识培训。其系列文章内容包括下面一些章节:Elections(选举)Creating a set(创建一个replica sets)

2014-04-13 21:38:01 7888

转载 python连接mongodb

一、相关代码数据库配置类 MongoDBConn.py复制代码代码如下:#encoding=utf-8'''Mongo Conn连接类'''import pymongoclass DBConn:    conn = None    servers = "mongodb://localhost:27017"    def

2014-04-13 21:34:51 748

转载 Python读写mongo时区问题

mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。所以,在php中向mongo读写MongoDate或者java向mongo读写Date时,会根据当前系统的时区与GMT进行相互转化。我猜上述转化应该是由php和java的mongo驱动实现的。比如,在java或php中,时间2011-12-27 17:57:46.

2014-04-13 17:49:59 4491

转载 Python中第三方的用于解析HTML的库:BeautifulSoup

背景在Python去写爬虫,网页解析等过程中,比如:如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站常常需要涉及到HTML等网页的解析。当然,对于简单的HTML中内容的提取,Python内置的正则表达式Re模块,就足够用了,但是对于复杂的HTML的处理,尤其是一些非法的,有bug的html代码的处理,那么最好还是用专门的HTML的

2014-04-13 17:42:58 4464

转载 python BeautifulSoup模块的安装

···一个BeautifulSoup的模块,安装就浪费了俺这么长时间,下载的是BeautifulSoup4-4.1.3,安装的时候就是           python setup.py build           python setup.py install就这么简单的两个命令,因为安装之前也看了下别人的就是这样,可是自己import的时候,总出错,弄了半天

2014-04-13 17:27:31 620

转载 Python Sleep休眠函数

#!/usr/bin/env pythonimport osimport timedef fun(name):    write_name="command %s failed!\n" % name    print write_name    f = open('/tmp/cs.log','a')    f.write(write_name)    f.c

2014-04-13 17:15:52 16125

转载 python中的BeautifulSoup模块

最近在看python代码的时候遇到了BeautifulSoup模块,查阅相关资料如下:       python中的Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。 对于Ruby,使用Ruby

2014-04-13 17:14:58 761

转载 Python调用MongoDB使用心得

本文是一个Python 使用MongoDB的简单教程,将使用pymongo对MongoDB进行的各种操作进行了简单的汇总,我们进行了简单整理,使用Python的同学可以看一看。下载相应平台的版本,解压即可。为方便使用,将bin路径添加到系统path环境变量里。其中mongod是服务器,mongo是客户shell,然后创建数据文件目录:在c盘下创建data文件夹,里面创建db文件夹。

2014-04-13 11:59:31 828

转载 如何处理海量数据(转)

在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至 过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处

2014-04-13 08:03:00 733

转载 Mongo数据库安装成Windows服务(转)

http://www.haogongju.net/art/999845Mongo数据库安装成Windows服务每次运行mongod --dbpath D:/MongoDB/data命令行来启动MongoDB实在是不方便,把它作为Windows服务,这样就方便多了。D:\MongoDB\bin>mongod --logpath D:\MongoDB\logs\MongoDB.

2014-04-07 21:26:52 467

转载 Mongo管理命令

Mongo适合场景:网站数据:适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制 及高度伸缩性。缓存:适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可 以避免下层的数据源过载。大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵。高伸缩性的场景:适合由数十或数百台服务器组成的数据库。Mongo的路线

2014-04-07 21:23:57 1052

转载 mongodb查询

1 ) . 大于,小于,大于或等于,小于或等于$gt:大于$lt:小于$gte:大于或等于$lte:小于或等于例子:db.collection.find({ "field" : { $gt: value } } ); // greater than : field > valuedb.collection.find({ "field" : { $lt: va

2014-04-07 20:52:37 510

转载 python 中文乱码 问题深入分析

在本文中,以'哈'来解释作示例解释所有的问题,“哈”的各种编码如下:  1. UNICODE (UTF8-16),C854;  2. UTF-8,E59388;  3. GBK,B9FE。一、python中的str和unicode一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个

2014-04-07 18:08:36 496

转载 linux命令(22):find 命令的参数详解

linux命令(22):find 命令的参数详解find一些常用参数的一些常用实例和一些具体用法和注意事项。1.使用name选项:文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。  可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。  不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.l

2013-08-01 11:16:45 503

转载 linux命令(21):find命令之xargs

linux命令(21):find命令之xargs在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。  

2013-08-01 11:16:03 546

转载 linux命令(20):find命令之exec

linux命令(20):find命令之execfind是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释:-exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加

2013-08-01 11:15:26 622

转载 linux命令(19):find 命令概览

linux命令(19):find 命令概览Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源

2013-08-01 11:14:15 448

转载 linux命令(18):locate 命令

linux命令(18):locate 命令locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。1.命令格式:Locate [选择参数]

2013-08-01 11:13:33 605

转载 linux命令(17):whereis 命令

linux命令(17):whereis 命令whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时

2013-08-01 11:13:00 564

转载 linux命令(16):which命令

linux命令(16):which命令我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置。       whereis 查看文件的位置。        locate   配合数据库查看文件位置。       find   实际搜寻硬盘查询文件名称。which命令的作

2013-08-01 11:12:18 477

转载 linux命令(15):tail 命令

linux命令(15):tail 命令tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式;tail[必要参数][选择参数][文件]   2.命令功能:用于显

2013-08-01 11:11:26 606

转载 linux命令(14):head 命令

linux命令(14):head 命令head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 1.命令格式:head [参数]... [文件]...  2.命令功能:head 用来显示档案的开头至标准输出中,默认head命

2013-08-01 11:10:45 544

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除