Python
文章平均质量分 92
SaiW-n_n-
努力,踏实。
展开
-
Python 之 if __name__ == '__main__'
if __name__ == '__main__': print 'This program is being run by itself'else: print 'I am being imported from another module'这个地方的定义,是这样的:一个.py文件,如果是自身在运行,那么他的__name__值就是"__main__";如果它是被别转载 2016-07-23 13:10:52 · 306 阅读 · 0 评论 -
Python 之 闭包
闭包这个概念在很多语言中都有涉及,本文主要谈谈Python中的闭包。Python中使用闭包主要是在进行函数式开发时使用。一,定义python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).这个定义是相对直白的,好理解的,不像其他定义那样学究味道十足(那些学究味道重的解释,在对一个转载 2016-08-16 00:15:02 · 428 阅读 · 0 评论 -
Python 之 encode()/decode()
1、写的代码模块需要指定编码如果代码没有指定coding,python就默认所有的字符为ASCII码,ASCII码只支持256个字符,ASCII码不支持中文,所以就报错。所以要在代码前写上#coding:utf-8或#coding:gbk但通用写上#coding:utf-82、python2内部所有编码统一为unicodeunicode可以处理世界上所有语言的字符。utf转载 2016-08-06 16:43:48 · 470 阅读 · 0 评论 -
Python 之 Unicode和UTF-8
源地址:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.htmlhttp://www.chi2ko.com/tool/CJK.htm今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步转载 2016-08-06 17:49:01 · 430 阅读 · 0 评论 -
Python 之 re模块 正则表达式
正则对象(re object)search(): 最常用的,返回一个匹配对象(Match Object)match():类似search,但仅仅从文字的开始进行匹配;split():分割一个string,返回字符串的数组findall():找到所有的匹配字符串的清单(list)finditer():类似findall,返回匹配对象(Match Object)的iterationsub(): 字符串替换subn(): 类似sub, 但是同时返回替换的数量原创 2016-08-02 00:10:53 · 4168 阅读 · 0 评论 -
Python 之 沙盒环境--virtualenv
VirtualEnv用于在一台机器上创建多个独立的Python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。使用 VirtualEnv 的理由:隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。使用说明:安转载 2016-08-06 22:45:36 · 3107 阅读 · 1 评论 -
Python之模块和包的使用
1.模块的基本概念2.模块的基本操作1),import '''这种导入方式使用时,需要加导入的模块名字如:import linecachelinecache.getlines() '''2),from module import sth'''这种导入方式,不要需要添加导入的模块名字,直接使用即可。如:from linecach原创 2016-07-23 14:23:39 · 287 阅读 · 0 评论 -
Python 之 Beautiful Soup 4文档
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.这篇文档介绍了BeautifulSoup4中所有主要特性,并切有小例子.让我来向你展示它适合做什么,如何工作,怎样使用,如何达到你想要的效果,和处理异常情况.文档中出现转载 2016-08-09 14:35:04 · 5430 阅读 · 0 评论 -
Python 之 安装 scipy,numpy,matplotlib,pandas
由于安装EPD free 出现问题,于是采用曲线救国的方法。原创 2016-08-20 15:22:05 · 1461 阅读 · 0 评论 -
Python 之 GIL和线程安全
摘要什么是线程安全? 为什么python会使用GIL的机制?在多核时代的到来的背景下,基于多线程来充分利用硬件的编程方法也不断发展起来, 但是一旦 牵扯到多线程,就必然会涉及到一个概念,即 线程安全, 本文就主要谈下笔者对线程安全的一些理解.而Python为很多人所抱怨的一点就是GIL,那么python为什么选择使用GIL, 本文也就这个问题进行一些讨论.Contents转载 2016-08-21 22:18:17 · 546 阅读 · 0 评论 -
Python 之 线程与进程
线程与进程的概念 对于一般程序而言,可能会有若干个进程,同时,每个进程又可能有多个同时执行的线程。进程是资源管理的最小单元,线程是程序执行的最小单元1 进程 直观来讲,进程就是正在执行的程序,是多任务操作系统执行任务的基本单元,是包含了程序指令与相关资源的集合。操作系统分隔各个进程可以访问的地址区域。如果进程间需要传递信息,可以使用进程间通信(IPC)或其他方式,如文件 数据库等。转载 2016-08-21 22:40:30 · 467 阅读 · 0 评论 -
Python 之 深拷贝和浅拷贝 2
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。以下分两个思路来分别理解浅拷贝和深拷贝: (1)利用切片操作和工厂方法list方法拷贝 (2)利用copy中的deepcopy方法进行拷贝1、利用切片操作和工厂方法list方法拷贝代码场景:有一个小伙jack,t转载 2016-08-22 12:41:53 · 368 阅读 · 0 评论 -
Python 之 深拷贝和浅拷贝 1
python 引用:python一般内部赋值变量的话,都是传个引用变量,和C语言的传地址的概念差不多,比如>>>a = [1,2,3],表示变量a保存了这个列表的地址python里可以用id()来查询下:a在内存的地址是:675375852>>>b = a 那b的内容是什么,地址又是什么呢?用print 输出下b的内容也是[1,2,3],然后我们查看下b的地址看下能否验转载 2016-08-22 12:56:06 · 316 阅读 · 0 评论 -
Python 之 Scrapy笔记(1)- 入门篇
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘, 信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的, 也可以应用在获取API所返回的数据(比如Web Services)或者通用的网络爬虫。Scrapy也能帮你实现高阶的爬虫框架,比如爬取时的网站认证、内容的分析处理、重复抓取、分布式爬取等等很复杂的事。转载 2016-08-11 14:04:32 · 728 阅读 · 0 评论 -
Python 之 Scrapy笔记(2)- 完整示例
这篇文章我们通过一个比较完整的例子来教你使用Scrapy,我选择爬取虎嗅网首页的新闻列表。这里我们将完成如下几个步骤:创建一个新的Scrapy工程定义你所需要要抽取的Item对象编写一个spider来爬取某个网站并提取出所有的Item对象编写一个Item Pipline来存储提取出来的Item对象Scrapy使用Python语言编写,如果你对这门语言还不熟,请先去学习下基本转载 2016-08-11 15:31:55 · 2273 阅读 · 0 评论 -
Python 之 WSGI
过去的这个月,接触的最多的就是Python的WSGI了,WSGI不是框架不是模块,仅仅是一个规范协议,定义了一些接口,却影响着Python网络开发的方方面面。对于WSGI有这么一段定义:WSGI is the Web Server Gateway Interface. It is a specification for web servers and application servers t转载 2016-08-12 22:43:23 · 484 阅读 · 0 评论 -
Python 之 Flask框架
了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。每一个URL可以对应GET和POST请求,当然还有PUT、DELETE等请求,但是我们通常只考虑最常见的GET和POST请求。一个最简单的想法是从environ变量里取出HTTP请求的信息,然转载 2016-08-13 14:35:02 · 758 阅读 · 0 评论 -
Python 之 jinja2模板
Web框架把我们从WSGI中拯救出来了。现在,我们只需要不断地编写函数,带上URL,就可以继续Web App的开发了。但是,Web App不仅仅是处理逻辑,展示给用户的页面也非常重要。在函数中返回一个包含HTML的字符串,简单的页面还可以,但是,想想新浪首页的6000多行的HTML,你确信能在Python的字符串中正确地写出来么?反正我是做不到。俗话说得好,不懂前端的Python工转载 2016-08-13 15:30:22 · 3562 阅读 · 0 评论 -
Python 之 socket 入门
python 编写server的步骤: 1. 第一步是创建socket对象。调用socket构造函数。如: socket = socket.socket( family, type ) family参数代表地址家族,可为AF_INET或AF_UNIX。AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信。转载 2016-08-04 00:14:17 · 738 阅读 · 0 评论 -
Python 之 yield
初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。您可能听说过,带有 yield 的函数在 Python 中被称之为转载 2016-07-28 23:04:16 · 360 阅读 · 0 评论 -
URL中查询字符串是什么意思
1,什么是URL中的查询字符串?简单来说就是www.abc.com/xxx?a=1&b=hello这里问号以后的部分,可以附带少量的参数。英文叫做querystring2,查询字符串是用来干什么的:?参数就是程序中可变的部分,比如说www.abc.com/profile.jsp?userid=zhangsan你有个叫profile的页面,那么可以根据userid的不转载 2016-07-22 20:59:43 · 4642 阅读 · 0 评论 -
python 分析http查询字符串 urlparse.parse_qs
parse_qs 有几种实现urlparse.parse_qs 返回字典urlparse.parse_qsl 返回列表这个模块在 python 3.0 中 改名为 urllib.parseurllib.parse.parse_qs 返回字典urllib.parse.parse_qsl 返回列表cgi中的这两个函数已经废弃了, 留在模块中 只是为了向后兼容, 推荐转载 2016-07-22 20:40:56 · 11197 阅读 · 0 评论 -
python 之编码转换 unicode, utf-8, utf-16, GBK
主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。常见的编码转换分为以下几种情况:自动识别 字符串编码可以使用 chardet 模块自动识别 字符创编码chardet 使用方法unicode 转换为其它编码(GBK, GB2312等)例转载 2016-07-22 19:18:21 · 27444 阅读 · 0 评论 -
Python文本操作之read() readline() readlines()
文件和字符串变量我们谈到“文本处理”时,我们通常是指处理的内容。Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: .read()、.readline() 和 .readlines()。每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .rea转载 2016-07-22 15:48:49 · 661 阅读 · 0 评论 -
Python 模块学习:os模块
一、os模块概述Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。(一语中的)二、常用方法1、os.name输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。2、os.getcwd()函数得到当前工作目录,即当前Python脚本转载 2016-07-19 17:35:15 · 422 阅读 · 0 评论 -
python os.path模块
os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.path.dirname(path) #返回文件路径os.path.exists(path) #路径存在则返回True,路径损坏返转载 2016-07-19 16:57:48 · 414 阅读 · 0 评论 -
Python isdigit()方法
描述Python isdigit() 方法检测字符串是否只由数字组成。语法isdigit()方法语法:str.isdigit()参数无。返回值如果字符串只包含数字则返回 True 否则返回 False。实例以下实例展示了isdigit()方法的实例:#!/usr/bin/pythonstr = "123456"转载 2016-07-20 13:26:43 · 1324 阅读 · 0 评论 -
Python 之 datetime模块
datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(对于偶等玩家,这个范围已经足够用矣~~) datetime模块定义了下面这几个类:datetime.date:表示日期的类。常用的属性有year, month,转载 2016-07-24 14:23:11 · 285 阅读 · 0 评论 -
Python 之 time模块详解
在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各转载 2016-07-24 13:51:10 · 368 阅读 · 0 评论 -
Python 之 pickle/json序列化
#对象序列化import pickled={"a":"中国"}a=pickle.dumps(d,2)#序列化二进制print af=open("data","wb")f.write(a)f.close()#对象反序列化import picklef = open("data","rb")a=f.read()d=pickle.loads(a)print d['a']转载 2016-07-24 17:00:19 · 820 阅读 · 0 评论 -
Python 之 pickle/json序列化 之 2
用于序列化的两个模块:json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps、dump、loads、load pickle模块提供了四个功能:dumps、dump、loads、load首先,我们看看python pickle的序列化:p转载 2016-07-24 17:28:43 · 579 阅读 · 0 评论 -
Python 之 urllib模块
urllib模块中的方法1.urllib.urlopen(url[,data[,proxies]])打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作。本例试着打开google>>> import urllib>>> f = urllib.urlopen('http://www.google.com.hk/')>>> firstLine = f.转载 2016-07-19 15:51:37 · 331 阅读 · 0 评论 -
Python 之 日志logging
Python的标准logging模块: http://crazier9527.iteye.com/blog/290018 Python的logging模块: http://blog.endlesscode.com/2010/06/03/python-logging-module/ 官方文档:转载 2016-07-25 12:54:19 · 288 阅读 · 0 评论 -
Python 之 日志logging 之 2
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下。python的标准库里的日志系统从Python2.3开始支持。只要import logging这个模块即可使用。如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用:复制代码代码如下:import logging# 创建一个loggerlogger = lo转载 2016-07-25 19:40:11 · 349 阅读 · 0 评论 -
Python之urlparse模块
一、简介urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, snews, svn, svn+ssh, telnet等几乎所有的形式。根据其官网的说明,在Python3.0中,此库转载 2016-07-22 19:32:02 · 20418 阅读 · 0 评论 -
Python 之 多线程
一、Python中的线程使用: Python中使用线程有两种方式:函数或者用类来包装线程对象。1、 函数式:调用thread模块中的start_new_thread()函数来产生新线程。如下例: import time import thread def timer(no, interval): cnt = 0 while cnt10:转载 2016-07-27 17:33:55 · 262 阅读 · 0 评论 -
Python【map、reduce、filter】内置函数使用说明
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin介绍下Python 中 map,reduce,和filter 内置函数的方法:一:mapmap(...) map(function, sequence[, sequence, ...]) -> list说明:转载 2017-07-13 23:47:27 · 377 阅读 · 0 评论