Python
文章平均质量分 67
Parle
这个作者很懒,什么都没留下…
展开
-
一些常用的正则表达式
1、匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了2、匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)3、匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行4、匹配HTML标记的正则表达式:原创 2015-10-06 22:00:10 · 406 阅读 · 0 评论 -
Python自省(反射)----inspect module
首先通过一个例子来看一下本文中可能用到的对象和相关概念。#coding: UTF-8import sys # 模块,sys指向这个模块对象import inspectdef foo(): pass # 函数,foo指向这个函数对象 class Cat(object): # 类,Cat指向这个类对象 def __init__(self, name='kitty'):转载 2016-05-11 22:49:31 · 644 阅读 · 0 评论 -
python异步IO和协程
本文对python协程做一些总结,来自平时的学习和一些博客资料1. 异步IO关于异步IO的讲解,网上资料太多了,我以前的文章也提到过,此处只做一些简单介绍:异步IO采用消息循环的模式,重复“读取消息—处理消息”的过程消息模型解决等待IO操作的问题: 程序发出IO请求,直接结束本轮消息处理,进入下一轮消息的处理当IO操作完成守,将收到一条IO完成的消息,处理该消息时获取IO操作的结果在IO操原创 2016-08-04 10:18:42 · 4310 阅读 · 0 评论 -
python导入本/子目录模块
1. python中的模块 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。 只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用。 上面这段描述最重要的两个点:py文件是一个模块导入的模块必须在sys.path中__init__.py 文件中会写入包的一些信息,包括导入是应该导入哪些模块等等2.原创 2016-08-01 11:21:29 · 9299 阅读 · 0 评论 -
python使用generator生成list
list官方文档:Lists are mutable sequences, typically used to store collections of homogeneous items (where the precise degree of similarity will vary by application).class list([iterable])Lists may be con原创 2016-08-19 11:46:50 · 14791 阅读 · 0 评论 -
python比较函数min
好久没写python,结果今天吃了一个大亏,唉~~在Python3.x的世界里,cmp函数没有了。那么sorted,min,max等需要比较函数作为参数的函数该如何用呢?以min函数为例进行说明基础用法min(iterator)min(arg1, arg2)>>> l = [2,4,1,6,23,7,232,42]>>> min(l)1>>> min(1,5,7)1这里要说明的是dic原创 2016-09-20 20:40:40 · 5579 阅读 · 0 评论 -
python装饰器简介
python装饰器的概念建立在python中,一切皆是对象的基础上。正是因为一切皆是对象,所以函数可以作为参数传入,可以添加函数的功能。装饰器简单来说就是对函数进行修饰,多用于添加函数的功能。接受和处理函数对象。企业级应用中最常用到,比如引入日志,增加性能检测功能,事务处理能力等等。下面一步步来理解装饰器1. 首先是最简单的python函数def foo(): print "I am foo原创 2016-09-21 11:51:45 · 762 阅读 · 0 评论 -
python对象引用引起的问题
我们都知道python中一切皆是对象,这句话我记得很清楚,但是平时用起来确也容易混淆。今天遇到一个bug,大概情况是这样:a = [1,2,3]b = [11,22,33]c = [a,b]print c# c = [[1, 2, 3], [11, 22, 33]]我在一个文件中修改了a,而在另一个列表中读c,结果发现c总是不对…..检查好久才想起来了,c中存贮的a应该是a的引用,也就是pyt原创 2016-11-17 22:24:31 · 985 阅读 · 0 评论 -
Python并发之GIL的限制
GIL是什么首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行。像其中的JPy转载 2016-12-12 10:10:13 · 3176 阅读 · 1 评论 -
Python3实现简单爬虫及一些编码问题
这篇文章记录利用python3实现一个简单爬虫的过程,爬虫爬取百度百科的相关连接,入口地址是面向对象这个页面:http://baike.baidu.com/view/125370.htm1. 爬虫的基本知识爬虫是通过网页之间的url连接不断的读取网上的内容的一个工具,根据这个概念,我们可以理解爬虫所需要的一些基本东西。(1)url管理器管理url的地址。首先应该有一原创 2016-01-01 22:35:00 · 7975 阅读 · 1 评论 -
python下MySQL的使用与练习
Linux平台,windows也一样使用1、首先需要安装MySQL,最好是自己设置MySQL的用户名和密码,详细见下面的链接:http://blog.csdn.net/gvfdbdf/article/details/491503612、为了方便,首先在MySQL中建立一个练习用的数据库pythontestroot@kali:~# mysql -u root原创 2015-10-15 14:30:29 · 662 阅读 · 0 评论 -
Kali Linux下MySQL设置和重置用户名密码
1、如果Linux中未安装MySQL,则需要下载安装,在安装的过程中会要求输入用户名密码,则无需重置,直接设置2、MySQL设置UTF-8编码格式配置文件:root@kali:~# vim /etc/mysql/my.cnf 添加默认utf-8编码:[client]default-character-set = utf8[mysqld]default-st原创 2015-10-15 11:29:09 · 20293 阅读 · 2 评论 -
关于Python中全局变量的使用的调试
首先啰嗦一段全局变量的使用方法:应该尽量避免使用全局变量。不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性。对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误。这种错误是很难发现和更正的。 全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量。同样,全局变量降低了代码的可读性,阅读者可能并不知道调用的原创 2015-10-02 16:51:04 · 1526 阅读 · 0 评论 -
关于kali Linux工具打开提示SyntaxError: invalid syntax
我在kali中打开一些工具时都提示这个错误,例如zenmap和sslstriproot@kali:~# zenmap File "/usr/bin/zenmap", line 176 except ImportError, e: ^SyntaxError: invalid syntaxroot@kali:~# sslstrip F原创 2015-10-15 17:56:33 · 3155 阅读 · 0 评论 -
Python中os模块的使用(附一个调试例子)
一、os模块概述Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。如果我们要操作文件、目录,可以在命令行下面输入操作系统提供的各种命令来完成。比如dir、cp等命令。其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数。二、os模块常用方法1.原创 2015-10-04 15:46:56 · 5303 阅读 · 0 评论 -
Python下异步IO和协程简介
1、协程(coroutine)协程(coroutine)也是一种程序组件。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。一个程序可以包含多个协程,可以对比与一个进程包含多个线程,因而下面我们来比较协程和线程。我们知道多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文原创 2015-10-19 19:48:05 · 3253 阅读 · 1 评论 -
Python下ORM的一个设计举例
1、什么是ORM对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是http://write.blog.csdn.net/postedit?ref=toolbar一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。对象关系映射(Ob原创 2015-10-19 20:35:14 · 3553 阅读 · 1 评论 -
Python特殊语法:filter、map、reduce、lambda
Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力!filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:>>> def f(x): return x % 2 != 0 and x转载 2015-09-23 07:56:47 · 629 阅读 · 0 评论 -
Python yield 使用浅析
转自IBM文档库:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契转载 2015-09-23 07:45:21 · 653 阅读 · 0 评论 -
转义字符表
有时候忘记了需要查询转义字符描述\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表符\t横向制表符原创 2015-10-13 15:16:46 · 651 阅读 · 0 评论 -
python多进程并发之multiprocessing
multiprocessing.Processmultiprocessing包是Python中的多进程管理包。它与 threading.Thread类似,可以利用multiprocessing.Process对象来创建一个进程。该进程可以允许放在Python程序内部编写的函数中。该Process对象与Thread对象的用法相同,拥有is_alive()、join([timeout])、run()、s原创 2016-12-12 16:22:57 · 10881 阅读 · 1 评论