如今Python
文章平均质量分 64
orangleliu
快乐编程
展开
-
[Python] MultiprocessTimedRotatingFileHandler
Python logging模块在多进程下不保证同步,所以 TimedRotating 的情况下可能会导致某些日志文件丢失,下面是一种简单的解决办法,对于日志完整行要求不是很严格的情况下可以使用。# coding:utf-8import timeimport osimport loggingfrom logging.handlers import TimedRotatingFileHan...原创 2019-10-29 11:39:40 · 630 阅读 · 0 评论 -
[Python]面向对象--属性和方法命名使用
很多内容和java很类似,但是使用时还是有很多的细节区分#coding=utf-8#oop/oop1.py '''1 所有的类中的方法的参数表中都需要一个self参数2 方法中要使用类的成员变量必须使用self关键字 3 成员变量命名时加上'__xx'的前缀说明为私有属性,不能够通过类对象直接访问 如 p.__money 其实也可以访问 如:p._Person__money ,一般原创 2013-04-02 15:14:48 · 1600 阅读 · 0 评论 -
[Python]yield用法入门
包含yield表达式的函数是特殊的函数,叫做生成器函数(generator function),被调用时将返回一个迭代器(iterator),调用时可以使用next或send(msg)。它的用法与return相似,区别在于它会记住上次迭代的状态,继续执行。 send(msg)与next()的区别在于send可以传递参数给yield表达式,这时传递的参数会作为yield表达式的值,而yield的转载 2013-04-02 16:18:35 · 9524 阅读 · 1 评论 -
[Python]计算100以内的素数--一行代码filter方式
没有考虑效率问题,只是为了简洁,呵呵#问题2 使用filter讲100以内的质数挑选出来#filter(function or None, sequence) -> list, tuple, or string #filter(def1,list)->list就是2,到100了,这个def怎么办呢 就是一个返回值为布尔型的函数def isprime(m): #质数是指只能被1和它原创 2013-04-03 12:12:01 · 7918 阅读 · 1 评论 -
[Python]多线程--threading模块实现
#!/usr/bin/env python#coding=utf-8#来源: python核心编程 多线程章节import threadingfrom time import ctime,sleep,time '''使用建立实例的方法使用threading的多线程方法,建立2个线程,熟悉线程的基本操作''''''#创建一个thread实例,传给他一个函数secds=[4,2原创 2013-04-02 17:41:48 · 1506 阅读 · 0 评论 -
[Python]编码声明:是coding:utf-8还是coding=utf-8呢
我们知道在Python源码的头文件中要声明编码方式,如果你不只是会用到ascii码,很多人都写得都有点差别:#coding=utf-8#coding:utf-8#-*- coding:utf-8 -*- 那么怎样写才是有效地呢,哪些优势无效的呢? 可以查看下http://www.python.org/dev/peps/pep-0263/的解释粗略的看下: 概要:...原创 2013-04-03 13:36:53 · 75802 阅读 · 1 评论 -
[Python]用一行 map,reduce 计算 5!+4!+3!+2!+1!
#分析: #5!+4!+3!+2!+1#对于一个数字的阶乘reduce(lambda x,y:x*y,range(1,6))#对于一组数字的加法reduce(lambda x,y:x+y,range(1,6))#如果我们用代数的方法,就是把range[1,6]这个数组换成,每个元素为1-5每个阶乘就行了#[5!,4!,3!,2!,1!]#最笨得方法就是手动写5个,在笨一点就是f原创 2013-04-02 19:58:27 · 2722 阅读 · 0 评论 -
[Python]函数--关键字函数和默认函数
不能说这是python的特点 因为了解的编程语言不多,只是相对于java的不同做了些笔记#coding=utf-8#python 2.7#key words paramater 关键字参数#关键字参数仅仅对参数的调用来说的就是在调用时我们可以指定参数名然后给参数赋值#这样做的好处就是可以不按照原来参数的顺序写参数列表def kwfun(a,b): print a+b原创 2013-04-03 14:34:59 · 2070 阅读 · 0 评论 -
[Python]网络编程--socket入门
介绍:#coding=utf-8'''笔记:套接字:套接字起源于20世纪79年代的加利福尼亚大学伯克利分校版本的Unix,就是我们常说的BSDunix。有的时候也叫“BSD套接字”。开始的时候被设计为一台主机应用间的通信,也就是进程间通信,也叫IPC。一般分为2种,基于文件型的和基于网络型的。AF:地址家族PF:协议家族合法端口号是0 到65535 '''#创建一个TC原创 2013-04-03 18:23:03 · 1864 阅读 · 0 评论 -
[Python] regex正则的所有元字符文档
摘自官方文档 python2.7x版本 http://docs.python.org/2/library/re.html 有一些分组操作很多书上说的太简单了。 The special characters are:'.'(Dot.) In the default mode, this matches any character except a newline. If the DOTA转载 2013-04-04 21:51:01 · 1974 阅读 · 0 评论 -
[Python]简单抓取百度blog
#coding=utf8#graptest1.py python2.7 2013.4.5'''单页里的列表匹配,单线程下载,html文件格式 完成一个原型 regex写的很烂。。'''import urllib,urllib2import re,codecsurl =r'http://hi.baidu.com'user = r'/lzz847915049'page = ur原创 2013-04-05 16:07:44 · 1168 阅读 · 0 评论 -
[Python]正则表达式--简单的邮件处理
读书笔记: 精通正则表达式txt文件#mail.txt From Xihaode o dfsfsa Received: womenshiw To: xiaopengyou@126.com (Xiao Peng)From: dapengyou@qq.com (Da Peng)Date: 05/02/2000 at 04:58:50Subject: Re: Using th原创 2013-04-05 17:24:03 · 1594 阅读 · 0 评论 -
[Python]第五课笔记 --多进程及守护进程编写
#python2.7 多进程多线程 #并行的世界 *串行和并行 *阻塞与非阻塞 *共享和冲突 *多进程和多线程:win下不支持多进程开发,多线程几乎所有的平台都可以开发 #多进程 *fork *wait *waitpid *pipe and singal(进程间通信)?守护进程是什么原创 2013-04-10 18:06:54 · 2431 阅读 · 0 评论 -
[Python]GUI--列出某个目录下的文件
#coding=utf8#python2.7 core program '''封装成一个类!类中的属性要用self.使用 '''import os from time import sleepfrom Tkinter import *class ListDir(object): def __init__(self,initdir=None): '''程原创 2013-04-11 15:15:55 · 3206 阅读 · 0 评论 -
[Python]多线程threading函数方法--计算5!+4!+3!+2!+1!
上次用一行函数完成了,这次是要用多线程来完成。#coding=utf8'''def singles(): sum = 0 for i in range(1,6): t=reduce(lambda x,y:x*y,range(1,i+1)) sum +=t return sum print singles()'''#多线程实现,原创 2013-04-12 18:05:29 · 2566 阅读 · 0 评论 -
[Python]多线程threading -- 100以内素数的查找
使用threading的继承Treading的方法#coding:utf8'''def isprime(m): #质数是指只能被1和它本身整除的数 for i in range(2, m/2+1): if m % i == 0: return False return Trueif __name__ == '__main__原创 2013-04-12 18:08:25 · 2383 阅读 · 0 评论 -
[Python-*-算法]希尔排序
希尔排序#引用书籍以及地址 Solving with Algorithms and Data Structures原文中有在线调试的功能,很好用简要说明: 希尔排序,有时也叫做“最小增量排序”,通过把原始的序列分解成几个子序列来提高效率,其中每个小序列使用的都是插入排序。怎么样划分这些子序列是希尔排序的关键。希尔排序不是直接把整个序列直接分割成连续的子序列,而是用了一翻译 2013-04-22 14:56:51 · 2224 阅读 · 0 评论 -
[Python]第六课笔记--正则表达式
培训第六课 re的使用 re使用流程:模式串->表达式对象->匹配目标文本 常用元字符: . :除换行符以外的任何字符 \ :转义字符 当我们把元字符当做普通字符去匹配的时候 [] :字符集合匹配 \d :数字匹配 0-9 \D :非数字的匹配[^0-9] \s :非空白原创 2013-04-13 15:46:50 · 1056 阅读 · 0 评论 -
[Python]使用smtp和pop简单收发邮件
#Python 核心编程网络协议编程 Emailemail系统组件:MTA 消息传输代理,负责邮件的路由,队列和发送SMTP 简单邮件传输协议1 连接到服务器2 登陆3 发出服务请求4 退出POP:邮局协议RFC918 "邮局协议的目的是让用户的工作站可以访问到邮箱服务器里的邮件。邮件要能从工作站通过简单邮件传输协议SMTP发送到邮件服务器"原创 2013-04-22 16:21:10 · 7951 阅读 · 0 评论 -
[Python]执行环境--可执行内建函数
参考:《Python核心编程》 14章前半部分内建函数相关知识:内建函数:BIFs属性: bif.__doc__bif.__name__bif.__self__bif.__module__用户函数:UDF属性:udf.__doc__ 文档字符串udf.__name__ 函数名称udf.func_code 字节编译的代码对象udf.func_原创 2013-04-14 15:00:52 · 1610 阅读 · 0 评论 -
[Python-*-读书]Python基础教程--虚拟茶话会
总的来说是一个只支持一个聊天室的服务器端 客户端使用telnet书籍下载地址:Python资料汇总Python教程 这里是第二十四章的源码,练习研究之用#coding:utf8 #python2.7 chatSer2.py#稍微复杂一点的聊天室服务器'''用python启动服务 telnet连接之后就可以变成简单的聊天服务器第一次登陆:login name 登出: log原创 2013-04-23 00:10:46 · 2562 阅读 · 0 评论 -
[Python]学习资料整理
收集了一些资料,基本来自网络下载,如果有新的,后续添加Python核心编程 Python高级编程Python数据结构与算法英文Python灰帽子中文Python精要参考中文ThinkPython Python linux unix系统管理指南中文精通正则表达式Python cookbook 中文以上均来自网络下载,版权问题深感忧虑。。Py原创 2013-04-22 11:08:24 · 3563 阅读 · 0 评论 -
[Python]Socket高级 -- select I/O复用模型(二)
代码: 客户端:#!/usr/bin/env python#coding:utf8 #python2.73 lession7_1_s.py"""这是一个多客户端 用来测试 有5个用户 7个消息 一共发送35次 """import socketfrom time import sleepmsg = ['cs111','cs222','cs333','cs444',原创 2013-04-23 17:36:54 · 4806 阅读 · 2 评论 -
[Python]判断系统编码和字符编码chardet
这里使用了字符编码判断的一个模块chardet 使用esay_install 直接安装就可以了os环境win7 ide:wingide 1 使用默认环境编码'''查看系统编码'''import sys print 'system encoding: ',sys.getdefaultencoding()'''查看字符串编码'''import chardets =原创 2013-04-15 22:18:44 · 8057 阅读 · 0 评论 -
[notepad++]win下安装python插件PyNPP
有些人比较喜欢使用notepad++作为编辑器,这里推荐一款python的插件因为它可以实现:1. 显示行列对齐(通过show indent guide,进而对tab和空格的区分很好)2. 为数行代码添加#符号(选中你要操作的代码,右键,toggle block comment,此外还有自由改变大小写功能) 首先要安装notepad++然后可以通过note原创 2013-04-16 10:23:44 · 12261 阅读 · 0 评论 -
[Python]json dumps中文问题
解决方法就是增添一个参数看下代码对比#coding:utf8#python2.7 winxpimport urllibimport sys import json#url = r'http://www.weather.com.cn/data/sk/101221201.html'url = r'http://www.weather.com.cn/data/city原创 2013-04-25 14:21:11 · 6711 阅读 · 0 评论 -
[Python]GUI编程练习 -- 获取天气预报
第一个小应用: 桌面天气需求:背景:简单的一个桌面窗口,显示某地区的天气情况,每小时一次来源,用户:自己价值:编程练习 设计:使用tkinter做出一个小窗口,后天通过中央气象的json接口获得天气情况,手动更新也可以首先解决获取json并解析,然后是窗口显示。编码:#coding:utf8#python2.73 winxp '原创 2013-04-25 16:51:39 · 3419 阅读 · 2 评论 -
Python算法学习计划
以Welcome to Problem Solving with Algorithms and Data Structures为原本,每次学习一个小结或者半个小结,每次都要留下学习笔记,每一段时间都要有反思笔记学习数据结构和算法 加上自己的英文水平的提高作为练习,很多术语和理解可能有错,请赐教。原文地址 http://interactivepython.org/courselib/stat翻译 2013-04-17 12:01:18 · 2068 阅读 · 0 评论 -
[Python-算法]python实现冒泡,插入,选择排序
从新开始学习数据结构和算法,从前没有系统学过。部分引用:http://interactivepython.org/courselib/static/pythonds/SortSearch/sorting.html# -*- coding: cp936 -*-#python插入排序def insertSort(a): for i in range(len(a)-1):原创 2013-04-17 11:38:05 · 12031 阅读 · 1 评论 -
[Python-*-Django]DatabaseError: no such table: blog_blogpost错误
这是没有同步引起的python manage.py syncdb是个容易犯错的地方原创 2013-04-25 23:56:21 · 4449 阅读 · 3 评论 -
[Python]copy模块学习 -- 深拷贝和浅拷贝
Python拷贝对象常用的模块是copy模块,这个模块有两个方法,copy,deepcopy也就是常说的浅拷贝和深拷贝那么2种拷贝有什么不同呢? 今天就来研究下,这里研究对象是否相同用的是id()方法,也可以用is方法来判断浅拷贝有几种方法:第一种就是使用copy.copy()方法>>> import copy>>> a = [[1,3]]>>> b = copy.co原创 2013-04-17 20:01:49 · 1496 阅读 · 0 评论 -
[Regex ]正则表达式匹配ip和域名
转载:http://blog.csdn.net/seawave/article/details/1520988读了几页《Mastering Regular Expression》,有心想写一个能够匹配IP字串的正则表达式,实际尝试发现远没有自己写几行代码来判断来得容易,呵呵。一个IP字串,由四段组成,每一段是0~255的数字,段与段之间用小数点隔开,比如61.139.2.69就是一转载 2013-04-19 11:08:30 · 15059 阅读 · 2 评论 -
[Python]正则课程 --再次回顾
正则表达式的最大匹配个数,65535? re.DEBUG 可以查询到最大匹配个数,其实是返回针对每个regex的debug信息 使用compile编译的表达式时会把最新的几个缓存起来,所以就可以同时使用几个正则表达式而不需要担心正则的编译问题在re模块中的几个对象re.RegexObject 是编译后的正则表达式对象,方法上和直接使用re模块很多都是类似的常用的方法和原创 2013-04-18 22:46:14 · 1258 阅读 · 0 评论 -
[Python]easy_install使用小技巧
Python中的easy_install工具很爽,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan。如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:wget -q http://peak.telecommunity.com/dist/ez_setup.pypython转载 2013-04-18 23:07:37 · 1558 阅读 · 0 评论 -
[Python读书]cookbook --20.1 在函数调用中获得常新的默认值
一直都没看装饰器今天翻了cookbook看了一段,愣是没看懂20.1 在函数调用中获得常新的默认值任务:当函数的def语句执行之后,Python为函数的可选参数计算默认值,但只做了一次,然而,对于某些函数,你希望每次函数被调用,默认值都是新计算出来的代码如下import copydef freshdefaults(f): "一个封装f的装饰器,可使其默认值在调用时原创 2013-04-20 23:50:11 · 1686 阅读 · 0 评论 -
[Python]第八课笔记 简单代理爬虫
os win7 python2.7#coding=utf8import urllib2,re,os import threadingimport time,datetimedef get_proxy_addr(urls,ports): proxylist = [] p = re.compile('''(.+?)document.write\(":"\+(.+?)\原创 2013-04-29 17:07:30 · 1896 阅读 · 0 评论 -
[Python]Socket高级 -- select I/O复用模型(一)
这个东西以前刚接触,有很多理解不是很清楚。对于模型和不同模型的对比,unix网络编程 有详细的解释因为python是简单调用unix系统的函数,所以找了unix网络编程参看了下,还是比较模糊 select 是属于同步I/O操作,属于I/O复用模型的一种。这个函数允许进程指示内核等待多个事件中的任一个发生,并仅在一个或多个事件发生或经过某指定的时间后才唤醒进程 模型如下图原创 2013-04-22 00:15:09 · 4449 阅读 · 0 评论 -
[Python]Python性能鸡汤
转载:http://www.oschina.net/question/1579_45822第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Pyth转载 2013-04-30 21:19:26 · 1450 阅读 · 0 评论 -
[Python] python入门指引
转载自ref: http://shell909090.com/blog/2012/11/python%e5%85%a5%e9%97%a8%e6%8c%87%e5%bc%95/python入门指引发表于 2012 年 11 月 19 日前言其实我也不知道python怎么入门,由我来写这个真的不是很合适。我学python转载 2013-05-02 23:55:58 · 2080 阅读 · 0 评论 -
[Python] Python 编程艺术
ref= http://www.slideshare.net/wilhelmshen/py-art1. Python 编程艺术享受高效无误且充满乐趣的编程2. def hello(): print hello world!3. 什么样的函数返回 None?4. 没有消息就是最好的消息5. 对许多有经验的程序员来说True / 1 并不是执行成功的意思6. None 是最好的沉默 虽然转载 2013-05-02 23:44:39 · 2314 阅读 · 0 评论