- 博客(51)
- 资源 (5)
- 收藏
- 关注
转载 统计目录中文件的行数
import os import fileinput dest="/root/log" for root,dirs,filename in os.walk(dest): for file in filename: f=os.path.join(root,file) for each in fileinput.input(f):
2014-04-04 09:11:59
641
原创 python coobook 2 ---字符串对齐
字符串对齐>>> print '|','abc'.ljust(20,'_'),'|','abc'.rjust(20,'_'),'|','abc'.center(20,'_')| abc_________________ | _________________abc | ________abc_________>>>
2014-02-26 16:14:38
923
原创 python cookbook 学习笔记--1
每次处理一个字符,有以下三种方法:1for c in thestring: do_something_with(c)2result=[do_something_with(c) for c in thestring]3result=map(do_something,thestring)
2014-02-26 15:59:26
620
转载 Python中字符编码的总结和对比:Python 2.x的str和unicode vs Python 3.x的bytes和str
http://www.crifan.com/summary_python_2_x_common_string_encode_decode_error_reason_and_solution/
2014-02-22 20:30:06
970
原创 zip的妙用--矩阵行列交换
今天看到一个例子,发现了zip的强大之处。列表推导式可以嵌套。考虑以下的 3x4 矩阵, 一个列表中包含三个长度为4的列表:>>> matrix = [... [1, 2, 3, 4],... [5, 6, 7, 8],... [9, 10, 11, 12],... ]现在,如果你想交换行和列,可以用嵌套的列表推导式:
2014-02-21 16:54:43
914
原创 PYTHON之Ordered Dict
python有一个排序字典对象,但是很少有人提及>>> d = OrderedDict([('a', 'b'), ('c', 'd')])>>> d.update({'foo': 'bar'})>>> dcollections.OrderedDict([('a', 'b'), ('c', 'd'), ('foo', 'bar')])以下的基本操作as keys(), values()
2014-02-21 14:01:11
1406
原创 提取海量文本文件中含有指定字符串的行
在工作中遇到一个提取一个目录中所有文本文件中含有特定字符串的行,并将其写入一个文件,于是有了以下代码。# -*- coding: utf8 -*-import osimport sysimport globimport timereload(sys)sys.setdefaultencoding('utf-8')abspath = os.path.dirname(__file__
2014-02-15 22:08:15
5735
转载 再谈*arg或**arg
Python函数参数可以用星号+形参名形式(*arg或**arg)方式。其中*arg方式必须在传统参数后边出现,而**arg则必须在*arg后出现。def test(x, y=5, *a, **b): print x, y, a, b函数调用结果:test(1) ===> 1 5 () {}test(1,2) ===> 1 2 () {}test(1,2,3) ===> 1 2
2014-02-15 21:59:09
1028
原创 python中os.path.dirname(__file__)和sys.path[0]使用
python中os.path.dirname(__file__)的使用 (1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如: python c:/python27/test/test.py 那么将输出 c:/python27/test/ (2).当"print
2014-02-14 21:09:33
6814
转载 Python中*args 和**kwargs的用法
def fun_var_args(farg, *args): print "arg:", farg for value in args: print "another arg:", value fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list
2014-02-02 21:42:16
788
转载 Python中实现多属性排序
我们有一组记录:1234567list_records =( (department, name, salary), (department, name, salary), ... (department, name, salary))然后我们想进行类似 MS – Exc
2014-01-29 22:47:44
861
转载 Python进阶-- 函数的参数对应
回忆一下位置传递:def f(a,b,c): return a+b+cprint(f(1,2,3))在调用f时,1,2,3根据位置分别传递给了a,b,c。 关键字传递有些情况下,用位置传递会感觉比较死板。关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。依然沿用上面f的定义,更改调用方式:print(f(c=3
2014-01-29 21:35:30
669
转载 Python字典按值排序、包含字典的列表按字典值排序的方法
#-*- encoding=utf-8 -*-import operator#按字典值排序(默认为升序)x = {1:2, 3:4, 4:3, 2:1, 0:0}sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))print sorted_x#[(0, 0), (2, 1), (1, 2), (4, 3), (3,
2014-01-27 21:00:21
635
转载 lambda函数
lambda函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。下面的例子比较了传统的函数与lambda函数的定义方式前几天看到了一行求1000的阶乘的Python代码Python代码print reduce(lambda x,y:x*y, range(1, 1001)) 一下子被pytho
2014-01-25 21:36:24
809
转载 关于闭包(二)
闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。51CTO在此之前也曾陆续报导了《学习Scala的闭包》、《PHP 5.3闭包语法初探》以及《揭开Javascript闭包的真实面目》。闭包(Closure)是词法闭包(Lexical Closure)的简称。对闭包的具体定义有很多种说法,这些说法大体可以分为两类:◆一种说法认为闭包是符合一定条件的函数,比如参考资源中这样
2014-01-25 21:32:57
662
转载 python:常用功能之文本处理
前言在生活、工作中,python一直都是一个好帮手。在python的众多功能中,我觉得文本处理是最常用的。下面是平常使用中的一些总结。环境是python 3.30. 基础在python中,使用str对象来保存字符串。str对象的建立很简单,使用单引号或双引号或3个单引号即可。例如:s='nice' #output: nice s="nice" #
2014-01-25 21:28:10
607
转载 如何成为Python高手
导读:本文是从《How to become a proficient Python programmer》这篇文章翻译而来。译文来自外刊IT评论《如何成为Python高手》。内容如下:这篇文章主要是对我收集的一些文章的摘要。因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章。我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范。如
2014-01-24 23:37:05
559
转载 python yield用法
这篇文章写的太好了,学习收藏了。原贴:http://blog.youkuaiyun.com/u011249248/article/details/18733665初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地
2014-01-24 23:34:49
647
转载 转帖多线程编程使用互斥锁同步线程
http://blog.youkuaiyun.com/u011249248/article/details/18659213由于每个线程互相独立,相互之间没有任何关系,你干你的,我干我的,互相不干扰。如果要几个线程同时干一件事怎么办,由于互相不走动,如果一个线程已经做过了,另一个线程再去做,不就重复了吗,很容易乱套。现在假设这样一个例子:有一个全局的计数num,每个
2014-01-24 23:13:58
953
转载 小爬虫——下载给定网页上的图片
来一个小的程序,学习一下正则表达式和urllib库的运用转自:http://blog.youkuaiyun.com/u011249248/article/category/1476523# -*- coding: utf-8 -*-import reimport urllibdef getHtml(url): #找出给出网页的源码 page = urllib.urlop
2014-01-24 22:54:11
673
转载 python中maketrans和translate的用法
python中maketrans和translate的用法案例1.首先说下maketrans函数是生成一个翻译表,比如将‘abc',按照顺序翻译成'ABC'。就可以这样写import stringt=string.maketrans('abc','ABC')将字符'a'->'A','b'->'B','c'->'C'。然后使用translate函数’abc123‘.trans
2014-01-16 16:55:07
1452
1
原创 set去重
Python利用set去除重复元素的方式,如下:print '\n'.join(set(open('done.txt').read().split('\n'))) print ''.join(set([x for x in open('done.txt').readlines() if x.strip()!=''])) a = [5, 2, 5, 1,
2014-01-16 15:52:27
696
转载 python dict排序之一
python dict的特点就是无序的,按照key来提取相应value,如果我们需要对value进行排序的话,那python dict排序可以按照下面的方法来进行:下面的是按照value的值从大到小的顺序来排序。dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(),
2014-01-13 21:26:15
681
原创 map,enumerate,zip,filter
1、并行遍历:zip和map内置的zip函数可以让我们使用for循环来并行使用多个序列。在基本运算中,zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。示例一:L1 = [1,2,3,4]L2 = [5,6,7,8]#要合并这些列表中的元素,可以使用zip来创建一个元组对的列表。与range一样,zip是一个可迭代对象,因此,必须将其
2014-01-13 20:26:36
727
原创 用python来过滤无效用户名或密码
学了一段时间python,刚好工作中要用到一个除去无效用户名及密码的功能,现编了一段代码,主要实现以下功能:1.去掉只有用户名,没有密码的行.2.去掉密码长度小于6的行.3.去掉针对一个用户名进行暴力破解,密码超过10次以上,认为是无效.4.去掉用同一个密码暴力测试用户名超过10次以上,认为是无效.上代码。# -*- coding: cp936 -*-import o
2014-01-13 13:00:56
961
转载 Python Collection 小技巧
Python Collection 小技巧2011-06-13 黑日白月 Posted in Featured, TipsRSS独立软件开发者 Alex Marandon 在他的博客中介绍了数个关于 Python Collection 的实用小技巧,在此与诸位分享。判断一个 list 是否为空传统的方式:if len(mylist): # Do somethin
2014-01-11 23:11:54
548
原创 强大的list列表解析功能
去掉列表中每个元素头尾的空格 >>> freshfruit = [' banana', ' loganberry ', 'passion fruit '] >>> [str.strip() for str in freshfruit] ['banana', 'loganberry', 'passion fruit'] 把列表中,大于3的元素,乘以2 >>> vec
2014-01-11 22:34:17
1488
转载 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
原贴写的太好了,直接转载。http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html
2014-01-11 13:19:09
477
转载 使用 Python 登录网站
对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看。 这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式: 在URI 中显式地使用 Session ID; 利用 Cookie,大概过程是登录一个网站后会在本地保留一个 Cookie,当继续浏览这个网站的时候,浏览器会把
2014-01-11 13:13:26
773
转载 python抓取中文网页乱码
我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法。首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装。安装完以后我们在控制台上导入模块,如果正常就可以。比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的。直接上代码吧:import
2014-01-11 13:07:06
1215
原创 对迭代的各种方法性能的比较
以下通过程序对迭代方法进行比较,模块1:mytimer.pyimport timereps=1000repslist=range(reps)def timer(func,*pargs,**kargs): start=time.clock() for i in repslist: ret=func(*pargs,**kargs) elapsed=t
2014-01-06 22:23:09
1025
原创 python关于变量的说明
>>> a=3>>> a='1235'>>> a=1.23以上程序执行后,A好象从整数类型变成 了小数。变量没有类型,类型属于对象,而不是对象名,就以上的例子而言,我们只是把a修改为对不同对象的引用,实际上并没有改变对象a的类型,也就是变量在特定的时间引用了一个特定的对象。
2013-12-31 09:18:49
640
原创 关于BOOL的说明
bool原来就是一个数字,因为它有TRUE,和FALSE两个值.>>> True+12>>> isinstance(True,int)True>>> True or FalseTrue>>> type(True)>>> True==1True>>> True is 1False
2013-12-30 17:08:43
618
原创 os模块操作目录。
首先要导入模块:import osos.path.split(os.getcwd())[0]得到当前目录的父目录,然后使用os.path.join方法去得到目标文件的地址filepath = os.path.join(os.path.split(os.getcwd())[0], "template\test.xml")os和os.path模块os.listdir(dirna
2013-12-29 11:15:10
623
转载 Python中set(集合)的用法
python 的集合类型和 其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。1先看下python 集合
2013-12-25 20:42:40
679
转载 关于闭包--1
python闭包时提起,我一直都没觉得这个错误和闭包有什么太大的关系,但是它倒是的确是在python函数式编程是容易犯的一个错误,我在这里也不妨介绍一下。先看下面这段代码[python]for i in range(3): print i 在程序里面经常会出现这类的循环语句,Python的问题就在于,当循环结束以后,循环体中的临时变量i不会销毁,而是
2013-12-23 22:27:34
583
原创 一个关于字典操作的趣题。
今天看python基础教程发现一个有趣的问题.girls=['alice','bernice','clarice']boys=['chris','arnold','bob']letgirls={}for girl in girls: letgirls.setdefault(girl[0],girl)print letgirls.items()print '
2013-12-19 17:20:42
659
转载 Python中关于字典的操作
字典 python里的字典就像java里的HashMap,以键值对的方式存在并操作,其特点如下通过键来存取,而非偏移量;键值对是无序的;键和值可以是任意对象;长度可变,任意嵌套;在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上 1) 基本操作python 代码>>> table = {'abc':1, 'def':
2013-12-19 16:22:36
564
Python编程(第4版) 》(Programming Python, 4th edition)[英文PDF]
2014-01-21
德国人编写的delphi专用线程池
2013-10-14
delphi女性基础体温管理程序源代码
2008-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人