Python
文章平均质量分 67
Marho11
这个作者很懒,什么都没留下…
展开
-
python使用@property
python使用@propertyclass C: def __init__(self): self.__score = None #下面就开始定义属性了 @property#@property修饰的函数x就是个简单的get函数 def x(self): return self.__score @x.setter#修饰的函原创 2016-01-12 17:36:56 · 911 阅读 · 0 评论 -
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
Python2中的编码、解码问题使用Python2处理中文或不同编码时,经常遇到如标题所示的问题,烦!通过查阅一些资料终于理解了其中的原理及解决办法。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。其原创 2016-07-14 10:24:44 · 8579 阅读 · 0 评论 -
sublime text3自动同步左边栏颜色背景为编辑栏颜色
Ctrl+Shift+P -> install ,如图点击Install Package,在弹出框中输入SyncedSidebarBg,安装成功后会自动同步背景颜色:原创 2016-07-12 09:59:58 · 17691 阅读 · 5 评论 -
python的IO,以及codecs模块
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读文件打开一个文件,读取后应该close(),为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:try: f = open('/path/to/file', 'r') print f.read()finally: if f:转载 2016-07-18 20:54:11 · 3772 阅读 · 0 评论 -
python中yield的作用
以斐波那契数列为例def fab(max): n, a, b = 0, 0, 1 while n < max: yield b #print b a, b = b, a + b n = n + 1yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数转载 2016-07-19 09:15:15 · 805 阅读 · 0 评论 -
python+lxml解析大XML文件(100M+)
用lxml解析类似于下面的infile.xml文件原创 2016-08-17 15:44:30 · 4179 阅读 · 0 评论 -
Ubuntu14.04安装Python3.5
Scrapy已经支持Python3了https://blog.scrapinghub.com/2016/02/04/python-3-support-with-scrapy-1-1rc1/在安装Scrapy前确保下面的几个已经安装好:1、Python3.52、pip Python2.7.9和之后的版本都已包括pip。3、lxml 大部分Linux版本已经安装了lxml,否则参原创 2016-08-31 10:40:08 · 6922 阅读 · 0 评论 -
Centos6.7升级到Python3.5.2以及easy_install、pip的安装
在安装完CentOS 6.7和software update后,我们发现python的版本是2.6.6。由于需要将python升级到3.5,只能采取编译安装。1. 下载安装源# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz2. 将下载的压缩包移动到目标目录下# mv /home/***/Desktop/P转载 2016-08-31 20:17:13 · 4455 阅读 · 0 评论 -
centos6.7+python3.5.2安装scrapy(待修改完善)
在安装scrapy的前提需要安装python,pip,setuptools,OpenSSL,lxml安装python3.5,pip参考这篇文章安装lxml:安装之前记得安装libxslt和libxmlyum install libxml* -yyum install libxslt* -y wget http://lxml.de/files/lxml-3.原创 2016-09-01 14:02:30 · 1733 阅读 · 0 评论 -
URLError: <urlopen error [Errno 10051] >
在写一个简单小爬虫时,命令行执行时遇到下面这个错误:Traceback (most recent call last): File "E:\Anaconda2\lib\site-packages\boto\utils.py", line 210, in retry_url r = opener.open(req, timeout=timeout) File "E:\An原创 2016-09-06 14:58:32 · 3402 阅读 · 0 评论 -
Spark和Anaconda结合
安装Anaconda后,编辑~/.bashrc或者~/.bash_profile文件:export PATH=/yourpath/anaconda2/bin:$PATH然后使用ipython启动spark shellPYSPARK_DRIVER_PYTHON=ipython $SPARK_HOME/bin/pyspark就可以在pyspark shell中使用Anaconda中的python工具包了原创 2016-10-20 13:44:15 · 4789 阅读 · 0 评论 -
Linux安装Anaconda 后使用Anconda自带的python版本
安装完anaconda后,在终端输入python发现依然是Ubuntu自带的python版本,这是因为.bashrc的更新还没有生效,命令行输入:source ~/.bashrc即可。原创 2016-06-13 13:50:49 · 26232 阅读 · 7 评论 -
使用Anaconda下载工具包
Anaconda作为一个工具包集成管理工具,下载python工具包是很方便的,直接敲:conda install package_name但是有时候安装一个工具包(如xmltodict)的时候,在当前的channels中找不到这个包,会提示:[root@master sbin]$ conda install xmltodictFetching package metadata .......So原创 2016-10-20 13:52:57 · 11738 阅读 · 1 评论 -
[Anaconda2]Selenium+PhantomJS环境搭建
最近在学习python的js解析,发现使用Selenium+PhantomJS的方案还是比较适合我的,以下是环境配置教程。Selenium及PhantomJS介绍:Selenium是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Chrome等。 Phantom JS是一个服务器端的 Java原创 2016-11-15 11:17:11 · 3659 阅读 · 1 评论 -
Pandas:让你像写SQL一样做数据分析(一)
转自http://www.cnblogs.com/en-heng/p/5630849.html 1. 引言Pandas是一个开源的Python数据分析库。Pandas把结构化数据分为了三类:Series,1维序列,可视作为没有column名的、只有一个column的DataFrame;DataFrame,同Spark SQL中的DataFrame一样,其概念来自于R语言,为多colu...转载 2018-06-28 10:15:17 · 421 阅读 · 0 评论 -
ip地址与整数相互转换
1、ip地址转成整数原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003原创 2016-07-06 18:01:56 · 26024 阅读 · 0 评论 -
numpy中的nonzero()的用法
nonzero(a)返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。例如对于一维布尔数组b1,nonzero(b1)所得到的是一个长度为1的元组,它表示b1[0]和b1[2]的值不为0(False)。>>> b1=np.array([True, False, True, False]原创 2016-04-24 18:54:38 · 12143 阅读 · 1 评论 -
Numpy中矩阵对象(matrix)
原文地址numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中。 class numpy.matrix(data,dtype,copy):返回一个矩阵,其中data为ndarray对象或者字符形式;dtype:为data的type;copy:为bool类型。>>> a = np转载 2016-04-18 18:49:26 · 845 阅读 · 0 评论 -
Python闭包
python闭包(closure)通俗的讲就是:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。它只不过是个“内层”的函数,由一个名字(变量)来指代,而这个名字(变量)对于“外层”包含它的函数而言,是本地变量。看到这里或许你依然不明白什么是闭包,没关系,看完下面的小例子你一定会明白!# -*- coding: utf-原创 2016-01-23 09:34:49 · 374 阅读 · 0 评论 -
python 操作符**与*的用法
**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8*如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr"如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个转载 2016-01-24 09:56:14 · 32545 阅读 · 1 评论 -
Python字符串的编码与解码(encode与decode)
Python字符串的编码与解码(encode与decode)首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decod原创 2016-03-16 22:45:04 · 717 阅读 · 0 评论 -
编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。核心代码如下:[filename for t in os.walk(search_dir) for filename in t[2] if search_str in os.path.splitext(filename)[0]]PS:os模块和os,path模块详解见:转载 2016-02-22 22:34:45 · 3600 阅读 · 0 评论 -
sublime text3安装SublimeREPL,并配置python交互式终端快捷键
1、安装SublimeREPL插件:网上大都是调用ctrl+shift+p,输入:sublimerepl选择并安装;但是我采用该方法总是会出现:即使我各种百度,google来搜索解决方案,仍然失败了,所以我只有先从https://github.com/wuub/SublimeREPL下载好sublimerepl插件,将其解压放在如下图目录下:2、让SublimeREPL原创 2016-04-12 14:17:19 · 27583 阅读 · 6 评论 -
Python Numpy的数组array和矩阵matrix
出处:http://blog.chinaunix.net/uid-21633169-id-4408596.htmlNumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。例如,在3D空间一个点的坐标[1, 2, 3]是一个转载 2016-03-29 08:23:38 · 96207 阅读 · 2 评论 -
Numpy的repeat函数和tile函数
转自:http://blog.csdn.net/henryghx/article/details/16906235http://blog.sina.com.cn/s/blog_6bd0612b0101cr3u.html用repeat和tile扩充数组元素,例如,In [32]: a=np.arange(10)In [33]: aOut[33]: ar转载 2016-03-29 09:11:11 · 1378 阅读 · 0 评论 -
Python中的字典排序
我想将 b = {'a':234,'b':1,'c':2,'e':2387} 分别按照key和value进行排序,该怎样办呢?Python中比较常用的排序有两个函数,一、定义(1)一个是List数据结构中的sort>>> help(list.sort)Help on method_descriptor:sort(...)L.sort(cmp=None转载 2016-03-29 10:04:42 · 731 阅读 · 0 评论 -
Python中sort函数、sorted函数和argsort函数
sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序sort和sorted的比较1、用sort函数对列表排序时会影响列表本身,而sorted不会举例: >>> a = [1,2,1,4,3,5] >>> a.sort() >>> a [1, 1, 2, 3, 4, 5] >>> a = [1,2,1,4,3,5] >>转载 2016-03-29 10:07:52 · 861 阅读 · 0 评论 -
Python Sublime Text: [Decode error - output not utf-8]
在用python print汉字时发生Sublime Text: [Decode error - output not utf-8] 错误。我采用http://www.th7.cn/Program/Python/201411/319372.shtml的第一种解决方法不行。所以就只能用第二种了。解决方法:在系统变量加入PYTHONIOENCODING,值填写utf-8win7在桌面,原创 2016-04-01 14:05:29 · 555 阅读 · 0 评论 -
sublime3运行matplotlib画图程序不显示图
matplotlib绘图运行不显示问题,修改文件Preferences=>Browse Packages=>Default=>exec.py 大概在39行:把最后一行注释掉,修改后如下所示:保存修改,重启,按Crtl+B运行脚本即可。原创 2016-04-11 10:24:27 · 9841 阅读 · 4 评论 -
配置Sublime Text 3 的Anaconda编译环境
1.打开Sublime Text 3,工具-->编译系统-->新编译系统,就会打开文件sublime-build,2. 修改以下内容:{"cmd": ["python", "-u", "$file"],"path":"F:/Program Files/Python27","file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",原创 2016-03-17 23:25:17 · 18162 阅读 · 5 评论 -
Python3对字典操作时遇到错误:dictionary changed size during iteration
错误的代码:a={'a':1, 'b':0, 'c':1, 'd':0}for key in a.keys(): del a[key]参考资料:https://www.python.org/dev/peps/pep-0234/大概是说字典在遍历时不能进行修改,建议转成列表或集合处理。所以,正确的代码:a={'a':1, 'b':0, 'c':1, 'd':0}fo原创 2016-04-27 22:53:14 · 50720 阅读 · 8 评论 -
Pandas:让你像写SQL一样做数据分析(二)
转自:http://www.cnblogs.com/en-heng/p/5686062.html 1. 引言前一篇介绍了Pandas实现简单的SQL操作,本篇中将主要介绍一些相对复杂一点的操作。为了方便后面实操,先给出一份简化版的设备统计数据:0 android NLL 387546520 20994579110 ios NLL 52877990 916421755...转载 2018-06-28 10:52:50 · 1160 阅读 · 0 评论