摘要:1. 装饰器入门 1.1. 需求是怎么来的?装饰器的定义很是抽象,我们来看一个小例子。 def foo(): print 'in foo()' foo() 这是一个很无聊的函数没错。但是突然有一个更无聊的人,我们称呼他为B君,说我想看看执行这个函数用了多长时间,好吧,那么我们可以这样做: import time def foo(): start = time.clock() print 'in foo()' end = time.clock() print 'used:', end - start foo() 很好,功能看起来无懈可击。可是蛋疼的
阅读全文
摘要:本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。注意:本文基于Python2.4完成;如果看到不明白的词汇请记得百度谷歌或维基,whatever1. 正则表达式基础1.1. 简单介绍正 则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方 法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言
阅读全文
摘要:1 ##装饰器 2 #!/usr/bin/env python 3 4 from time import ctime , sleep 5 6 def tsfunc(func): 7 def wrappedFunc(): 8 print '[%s] %s called' %(ctime(), func.__name__) 9 return func() 10 return wrappedFunc 11 12 13 ...
阅读全文
摘要:天一直阴沉沉的,真想早点下班啊。。。。。。 1 #encoding=utf-8 2 import random 3 from sets import Set 4 5 def copyfile(srcfile, dstfile, linenum): 6 """ 7 get linenum different lines out from srcfile at random 8 and write them into dstfile 9 """10 result = []11 ret = False12 ...
阅读全文
摘要:集群为什么那么慢,等的人无语啊。。。。。。1:awk '/555555*/' test打印所有包含模式/555555*/的行2:awk '{print $1}' test打印文件的第一个字段,字段从行的左端开始,以空白符分隔3:awk '{print $1,$3}' test打印文件的第一,第三个字段4:awk '/555555/{print $1,$3}' test打印包含模式/555555/的第一,第三个字段awk原理:1):awk使用一行作为输入,并将这一行赋给内部变量$0,默认时每一行也可以称为一个记录,以换行符结束。2)
阅读全文
摘要:__author__ = "zhigege"#python_排序#encoding=utf-8import randomfrom copy import copydef directInsertSort(seq): """ 直接插入排序 """ size = len(seq) for i in range(1,size): tmp, j = seq[i], i while j > 0 and tmp < seq[j-1]: seq[j], j = seq[j-1], j-1 seq[j] = tmp r
阅读全文
摘要:雨一直在下,听着雨声,恢复着数据。。。。。。优点 简单————Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。 易学————就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。 免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个...
阅读全文
摘要:北京下大雨了,被困公司内。。。。。。内存管理,对于Python这样的动态语言,是至关重要的一部分,它在很大程度上甚至决定了Python的执行效率,因为在Python的运行中,会创建和销毁大量的对象,这些都涉及到内存的管理。小块空间的内存池在Python中,许多时候申请的内存都是小块的内存,这些小块内存在申请后,很快又会被释放,由于这些内存的申请并不是为了创建对象,所以并没有对象一级的内存池机制。 Python内存池全景这就意味着Python在运行期间会大量地执行malloc和free的操作,频繁地在用户态和核心态之间进行切换,这将严重影响Python的执行效率。为了加速Python的执行效率,
阅读全文
摘要:1 import sys 2 import random 3 from PyQt4 import QtCore, QtGui 4 class Tetris(QtGui.QMainWindow): 5 def __init__(self): 6 QtGui.QMainWindow.__init__(self) 7 self.setGeometry(300, 300, 180, 380) 8 self.setWindowTitle('Tetris') 9 self.tetrisboard = ...
阅读全文
摘要:周末了,来到公司,空无一人。。。。。。。python没有和C++中static关键字,它的静态方法是怎样的呢?还有其它语言中少有的类方法又是神马?python中实现静态方法和类方法都是依赖于python的修饰器来实现的。class MyClass: defmethod(self): print("method") @staticmethod defstaticMethod(): print("static method") @classmethod def classMethod(cls): print("class method")
阅读全文
摘要:周五了,快要休周末了。。。。。。1.__getitem__专用方法1 >>> map = {'name':'c小加'}2 >>> map.__getitem__("name")3 'c\xe5\xb0\x8f\xe5\x8a\xa0'只是重定向到字典,返回字典的值2.__setitem__专用方法1 >>> map = {'name':'c小加'}2 >>> map.__setitem__('monaker'
阅读全文
摘要:1.取消^M字符 当你FTP一些DOS文件到unix下时,你经常会看见每行文件后面有个讨 厌的^M 字符,有两个简单的方法可以取消它。 用"vi"打开此文件,在Command mode下敲入: :%s/^V^M//g 或者,在UNIX SHELL下敲入: sed 's/^V^M//g' foo > foo.new 2.使用nohup命令 如果你想进程在你退出系统后还能执行,可以使用NOHUP命令 如: % nohup tar -cf /dev/tape /home & 你退出后再重新登录的话,使用'ps'命令可以看到进程还在执行
阅读全文
摘要:1. Sed简介 sed 是 一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处 理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输 出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 2. 定址 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表...
阅读全文
摘要:一.AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义 函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。 awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。 awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfr...
阅读全文
摘要:Python执行系统命令一般的用到了三种方法,第一种是 os.system(),这个方法比较常用, 使用也简单, 会自动的生成一个进程,在进程完成后会自动退出, 需要注意的是os.system() 只返回命令执行的状态, 并不返回命令执行的结果,例如:import ost1 = os.system('df -h')print 't1=', t1他的输出就是: t1=0其次需要注意的是 os.system()创建的是进程, 会等待命令执行完, 不适合需要常时间等待的命令执行第二种是os.Popen(), 相对上一个命令, 他能得到命令执行的输出, 但是他的问题也是
阅读全文
摘要:第一天开博,那么晚了,还在苦逼的在公司加班。。。。。。随便写点,权当放松yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。生成器 是 一个函数函数的所有参数都会保留第二次调用 此函数 时使用的参数是前一次保留下的.生成器还“记住”了它在流控制构造生成器不仅“记住”了它数据状态。 生成器还“记住”了它在流控制构造(在命令式编程中,这种构造不只是数据值)中的位置。由于连续性使您在执行框架间任意跳转,而不总是返回到直接调用者的上下文(如同生成器那样),因此它仍是比
阅读全文
摘要:纪念下,开博了,希望各位牛人多多指教。。。。。。希望各位同学多多指导,多多拍砖。。。。。。
阅读全文