python
katios
这个作者很懒,什么都没留下…
展开
-
pypy 相关的问题
pypy是使用python 实现的解释器,因为使用了JIT,所以速度非常的块安装http://www.pypy.org/download.html 官网下载对应的版本这里直接解压就可以了,不同于python的安装,把压缩包放到合适的目录,添加path。包管理工具在python 中pip 很方便的帮助我们安装第三方库并且解决大部分的依赖问题。 在pypy中也存在一个p原创 2018-01-16 19:43:29 · 3767 阅读 · 0 评论 -
python 的__future__ 使用
这个库通过名字我们可以猜到是个特性有关的库。 通常特性又是和版本联系在一起的。没错这个库就是为了让我们兼容python2 和python3 的。 由于Python是由社区推动的开源并且免费的开发语言,不受商业公司控制,因此,Python的改进往往比较激进,不兼容的情况时有发生。Python为了确保你能顺利过渡到新版本,特别提供了__future__模块,让你在旧的版本中试验新版本的一些特性。原创 2017-07-16 01:45:51 · 5361 阅读 · 0 评论 -
python-Not uninstalling at /usr/lib/python2.7/dist-packages, owned by OS
前提通常使用pip install xxx 来安装某一库。使用 pip uninstall xxx 来卸载。而pip 的也可以采用常见的两种安装方法在centos系列下 使用sudo yum install python-pip 删除sudo yum remove python-pip在ubuntu 系列下 使用 sudo apt-get install python-pip 删除 su原创 2017-07-04 00:19:47 · 16378 阅读 · 0 评论 -
python 自动安装缺少模块
场景我写个脚本给别人用,但是这个脚本中包含了一个第三方库。当然对方执行的时候就会提示缺少,能否让python自动安装呢?解决try: import requestsexcept : import os os.system('pip install requests') import requests原创 2017-07-04 00:55:29 · 12235 阅读 · 1 评论 -
python scapy 网络包管理工具--基础篇
写在前面scapy 是python的一个库,提供网络协议的构造,请求等 scrapy 是python的爬虫框架。这两个差一个字母,大家还是要分清楚的。因为涉及到发包等系统层面的操作,所以请保证具备root权限,这一点贯穿全文。安装博主使用的环境有 centos6、centos7、windows10直接使用pip install scapy就可以安装运行模式你可以直接在命令行敲 scapy 进入交原创 2017-06-29 18:27:17 · 9272 阅读 · 0 评论 -
python csv模块使用
csv 模块什么是csv和xslx 有什么区别csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。 此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。csv是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打开csv文件是以逗号为分隔符号,将各字段列分离出的一种ASCII文件。csv(*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本原创 2017-06-08 14:24:46 · 7901 阅读 · 0 评论 -
python 的 split 和 strip
splite 和strip 都是python 对字符串的处理。splite 意为分割,划分。a='123456'a.split('3')输出为 [‘12’, ‘456’] 可以看到,使用何种字符切割,该字符也被略去。例如这里的字符“3”strip 意为去除,删除。a='123456'a.strip('1')这里可以运行下,输出’23456’ 值得注意的是,strip只能从两段开始删除,无法从原创 2017-06-29 11:10:37 · 7386 阅读 · 0 评论 -
python 字典中取值的两种方法
a={'name':'tony','sex':'male'}获得name的值的方式有两种print a['name'],type(a['name'])print a.get('name'),type(a.get('name'))发现这两个结果完全一致,并没有任何的差异。怎么选择这两个不同的字典取值方式呢?如果字典已知,我们可以任选一个,而当我们不确定字典中是否存在某个键时,我之前的做法如下if '原创 2017-06-19 10:16:32 · 178955 阅读 · 2 评论 -
python requests 详细学习content 和text 的区别
之前使用requests 不求甚解,一直使用content输出文本。阅读文档后记录如下:import requestsr=requests.get('http://www.baidu.com')print r.contentprint r.text你会发现,content输出的文本没问题,但是text输出的文本貌似是乱码。深究下,我们使用print type(r.content)print原创 2017-06-18 22:49:50 · 9103 阅读 · 0 评论 -
python 作用域的简要说明
同事,问起我为什么class 下的变量在外部也可以调用,我一时摸不着头脑,只能用最口语化的方式解释。但是看上去他并不是很理解。发现我自己也没有认真研读python 的作用域,只是知道它就该这么用,一副should be so 的样子。好吧,让我们揭开他的面纱。全局变量和局部变量python 中没有块级作用域for i in range(5) print ipirnt i*i程序可以正常执行原创 2017-06-06 13:07:54 · 6972 阅读 · 0 评论 -
requests 模块提示https 安全问题
在爬取https相关网站时,有时候会遇到/usr/lib/python2.7/site-packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.原创 2017-07-17 10:49:22 · 5987 阅读 · 0 评论 -
浅谈python 中的新老类,方法以及函数
类在python 中存在两种形式的类:经典类和新式类;为了确保兼容性,在python2版本中,经典类和新式类并存。 而在python3中,所有类都是新式类。如何显而易见的判断一个类是经典类还是新式类,在于它是否继承了object这个父类。class old(): def test(self): passclass new(object): def test(self原创 2017-07-09 23:48:10 · 5709 阅读 · 0 评论 -
python 获取路径及其注意事项
此刻我们在某一目录下有一个文件,姑且叫做test.py获得绝对路径import osprint os.path.abspath(__file__)获得该脚本的绝对路径。通常我们也建议这么做,毕竟绝对路径下出问题的概率比相对路径小多了。我们要获取该脚本坐在的目录用什么办法呢import osprint os.path.dirname(os.path.abspath(__file__))获得test原创 2017-07-10 10:58:22 · 5593 阅读 · 0 评论 -
python simplehttpserver 快捷http跨域服务
工作中想搭建个简单的http服务,直接在终端python -m SimpleHTTPServer 8000便可以启动http服务了,用来分发资源。 但是当我们想要引用该页面的资源时,因为浏览器的跨域访问限制,不能够如愿,如何解决呢?把下面的代码写入文件中,直接运行,则浏览器在引用的时候就不会被阻拦了。from SimpleHTTPServer import SimpleHTTPRequestHan原创 2017-12-20 14:02:08 · 6495 阅读 · 0 评论 -
grok在python 中的使用
grok 意为“通过感觉会意”他比正则匹配更高级一些,在语法上略有不同,不过属于换汤不换药,正则熟悉的同学,grok对你来说也不会很难。grok很多语言已经支持,python 中也有第三方库,pygrok项目地址 https://github.com/garyelephant/pygrok安装pip install pygrok示例from pygrok import Groktext = 'g原创 2017-11-17 16:32:11 · 6183 阅读 · 0 评论 -
关于线程安全的记录以及python GIL
多线程作为处理高并发任务的解决方案,是每个开发者都要面对的问题。保证线程安全是多线程中的重要话题,试想,如果多线程代码跑出来的结果和单线程是不同的,那么这个可不是什么好的事情,通常也就是发生了线程的不安全事件。线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提原创 2017-10-26 14:41:20 · 3434 阅读 · 0 评论 -
ubuntu 安装自然语言处理库 gensim
pip install sixpip install gensim报错 from six import viewitems, string_typesImportError: cannot import name viewitemspip install --upgrade six原创 2017-09-15 17:44:55 · 3435 阅读 · 0 评论 -
代码中的小细节,让你感叹自己的强大
平时使用python 时算数字就跟计算器差不多。因为他毕竟是个高级语言。例如134%8 #求余数134/8 #求商的整数部分其实我们也可以写134&0x07134>>3 这个位操作运算瞬间让你的python代码更快,其实乘除法也很快了。别人可能对你的代码要另眼相看。为了让大家更直观的看到效果我测试了一下#coding=utf-8import timeprint '位运算'start=tim原创 2017-09-14 17:56:53 · 3235 阅读 · 0 评论 -
python 中类的继承
python 中的类可以继承父类这是众所周知的。突然发现遇到一个问题,如果父类和子类都含有某个方法,是采用什么掉用方式呢,我想的是会调用之类方法,如果不存在,则调用父类方法。 python 应该满足该就近原则。还是动手验证下记得清楚,保存文件为test.pyclass Parent(object): def atest(self): print 111class Chil原创 2017-07-25 13:34:09 · 5070 阅读 · 0 评论 -
python 动态导入 __import__()函数
在python 1.5中,引入了import()函数,实际我们在文件开头的import 语句就是调用了该函数,引入目的是帮助开发者实现动态导入的需求。首先创建一个atest.py 文件class Testclass(object): def func(self): print 123我们在命令行通常导入并调用的方法:import aesta=atest.Testclass()原创 2017-07-24 22:28:48 · 9188 阅读 · 0 评论 -
python fabric 库的学习使用
fabric 是基于 paramiko 的封装。fabric 是通过使用ssh,来简化应用程序部署和系统管理的任务。他提供了一个基础的本地或远程的命令行操作(普通用户或管理员),可以上传和下载文件,也可以让用户输入或者停止程序。典型的应用方式,是创建一个python 模块包含一个或多个函数,然后运行fab 命令行来执行他们,下面是一个虽然很小,但是全面的fabfile 文件:from fabric.翻译 2017-07-23 13:53:16 · 5547 阅读 · 0 评论 -
python ConfigParser模块简介
在项目中我们为了控制程序,常常需要配置文件。典型的取0功能关闭,取1功能开启。也可以实现,对数据的分离,常量我们就存在配置文件,这样修改不会对代码逻辑造成影响,以避免误操作。首先新建一个conf.ini文件(其实这个地方名称可以随便起,甚至后缀名也可以任意,只要内容满足要求就可以)[info]name=xiaomingsex=manage=16[test]app1=0app2=1我们对配置原创 2017-07-10 13:40:39 · 5353 阅读 · 0 评论 -
python 关于字典append 到list 后值的改变问题
看一个例子d={'test':1}d_test=dd_test['test']=2print d如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变了。通常这和我们期待的不一样。Why?因为字典d 是一个object ,而d_test=d并没有真正的将该字典在内存中再次创建。只是指向了相同的object。这也是python 提高性能,优化内存的考虑。实际场景d={"nam原创 2017-05-17 09:09:57 · 19300 阅读 · 2 评论 -
google 翻译python版本
进来,想搞个python 版本的google翻译。看了下网页,是一个get请求,不禁大喜,深入研究后,发现这里携带的参数其中包含一个“tk” 应该为token的缩写吧,其用到搜索的字符通过js函数的计算的到。可是未曾入坑js,看上去颇为烧脑。而我又是一个求甚解的人,想要等了解js后再去突破。还有什么其他方式,选择ios客户端看看有什么突破。使用charles 抓包发现,也是get,并且不包含‘tk原创 2017-05-26 13:12:01 · 6565 阅读 · 0 评论 -
python chardet模块查看编码
在处理数据过程中,编码问题让人头疼。尤其是在输出乱码的时候,不知道输出的内容是什么,也不好排除问题。例如:杩樻湁2绔欏埌杈都不知道如何转码,因为我压根不知道它使用什么编码模式。chardet模块 ,不是标准库。pip instal chardetimport chardetprint chardet.detect('你的字符串')可以看到不同的编码方式。常常是你输出乱码的话,直接把该输出在cha原创 2017-03-06 13:39:14 · 13156 阅读 · 0 评论 -
python 的yagamil第三方模块使用方法
名字的含义: yagmail – Yet Another GMAIL/SMTP client模块的安装: pip install yagmail第三方模块是封装smtplib,更加方便,人性化。 可以类比requests库和urlib2库通常发送邮件需要30~60行,这里面牵扯到正文是文本还是html,以及是否插入图片,发送附件等等。import yagmailyag=yagmail.SMT原创 2017-02-13 09:42:22 · 16056 阅读 · 1 评论 -
网易邮箱大师获取下载链接时的验证码的分析解决 python
网易邮箱大师的下载,提供了一个方式:输入你的手机号码,网易汇给你发放一个带链接的邮件,点此链接可以跳转到应用商店下载,用以解决不方便扫码时的情况。这里会让我们输入验证码,看了下开发者工具,发现一个奇怪的现象。preview里面显示的是一个验证码图片,response中却没有任何内容。打破了我固有的认识,之前以为返回的也是一张jpg或者其他格式的图片。(后来想想,这样不利于后台对用户输入验证码的验证。原创 2017-03-08 17:18:14 · 19681 阅读 · 0 评论 -
ubuntu下安装pillow python 疑难杂症
参看ubuntu发行版本信息 lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 14.04.4 LTSRelease: 14.04Codename: trusty工作中常用的centos,移植到ubuntu上面各种问题,简直抓狂,安装个pillow也是各种原创 2017-01-20 15:24:14 · 17466 阅读 · 0 评论 -
PEP8编码风格
pep8 通常会听别人提到,但是具体的指什么内容呢,简单介绍下。 《Python Enhancement Proposal #8》 (8号python增强提案)又叫PEP8,他针对的python代码格式而编订的风格指南。空白使用space来表示缩进,而不要用tab和语法相关的每一层缩进用4个空格来表示每行的字符数不应超过79文件中函数与类之间应该用两个空行隔开在同一个类中,原创 2016-12-07 21:40:52 · 19829 阅读 · 0 评论 -
python对文件的指定行写入
常常在操作文件时我们只想在某一行的插入信息,可以先将文件读入列表中,利用列表的下标插入文本,之后再重新写入文件。但是弊端是,如果文件量太大列表的性能可能不是很高。python代码:#coding=utf-8lines=[]f=open("d:\\1script\\1.txt",'r') #your path!for line in f: lines.append(line)f.cl原创 2016-12-07 09:10:20 · 41911 阅读 · 2 评论 -
Python 中requests 模块text 和content 差别
近期查看代码的时候发现了requests 模块中获取网页时有两种写法:html = requests.get("http://xxx").texthtml = requests.get("http://xxx").content试了下发现获取的内容没差别,继续研究了下,原来是type不同;这里没有深究具体的差异,目前只了解到type的区别,对于python编码问题也一直都是老大难,往往遇到采取找原创 2016-11-21 15:27:45 · 13322 阅读 · 0 评论 -
python 倒序输出字符串,列表
题目将a=’123456’ 倒序输出解答a = ‘123456’ print a[::-1]思考对列表能否适用?当然可以切片操作还有很多其他的用法 [start:end:step] step>0 从左往右切片 step<0 从右往左切片原创 2016-11-30 18:14:43 · 14852 阅读 · 0 评论 -
python升序排列列表
题目给定list=[2,9,6,45,13],使她升序排列解答答案一 list = [2,9,6,45,13] list.sort() print list答案二 list = [2,9,6,45,13] a = sorted(list) print a思考第一想法是冒泡排序,一个一个进行比较。 这恰恰不符合python简单优雅的宗旨, 还没从面向过程转移到面向对象的思路原创 2016-11-29 17:37:48 · 33809 阅读 · 4 评论 -
python linux下运行无输出的真相竟是flush()
上次的crontab输出问题,抱歉了,我想错了。 原文:http://blog.csdn.net/sinat_21302587/article/details/62221648本以为是 crontab 的问题,其实是 python 的问题。好了,听我细细道来。环境: linux代码:import timeimport sysfor i in range(5): print i,原创 2017-03-20 14:29:30 · 9482 阅读 · 0 评论 -
python 安装lxml 问题与办法
无论是使用爬虫框架scrapy,还是简单的requests请求后解析。都不可避免的需要使用html解析库。当然正则是可以代替一部分搜索。由于正则语法的晦涩,及其其他场景下,html解析是必不可少的。网上推荐 lxml的比较多,优点:稳定,高效但是lxml的安装很难一次成功pip install lxml 如果没报错,那真是烧高香。。。windows下可以下载wheel文件,并在下载目录执行 pi原创 2017-03-13 22:55:11 · 35087 阅读 · 0 评论 -
python requests post多层字典问题
在研究一个post请求时发现其参数如下:data_search = {"size":10,"from":0, "time_range": {"from":1489413941799,"to":1489417541799}, "query_string":"*", "filters":[]原创 2017-03-13 23:15:11 · 19221 阅读 · 1 评论 -
python 有序字典
首先介绍下为什么有时候用到字典。 例如一场考试成绩其实可以用列表表示,如[[张三,89],[李四,85]]。 可能很多人觉得这样没有字典直观。确实,但是也不是不可以。使用字典的优势是,在数据量比较大的情况下,如果查找某个人的成绩我们不需要遍历所有的字段,直接通过字典的key ,寻找到value 。这样在数据量巨大的时候,性能的提升是巨大的回归正题,如何使用有序字典from collections原创 2017-05-07 22:36:29 · 7677 阅读 · 0 评论 -
python oj第一弹
A+B+Clist=[22,2,42]sum(list)sum 方法接收的就是一个list。整除if a%b==0 print 'a可以整除b'‘%’表示可以求余。原创 2017-05-24 14:50:59 · 6077 阅读 · 0 评论 -
python hashlib sha1和MD5哈希算法
python hashlib库提供了常用的哈希算法。如MD5 SHA1 等今天我们开坑sha1 举个例子,你写了一篇文章,内容是一个字符串’how to use python hashlib - by Michael’,并附上这篇文章的摘要是’2d73d4f15c0db7f5ecb321b6a65e5d6d’。如果有人篡改了你的文章,并发表为’how to use python hashlib原创 2017-05-23 14:58:02 · 16753 阅读 · 0 评论 -
python string.ascii_lowercase和string.lowercase区别
首先问题来源于: 希望创建一个随机的25位的小写字母和数字的组合字符串import randomimport string''.join(random.sample(string.ascii_lowercase + string.digits, 25))用ipython 自动补全发现还有一个string.lowercase 很是好奇有什么不同。都一样嘛,还是去代码里看看。机智呀,原来一样的还很原创 2017-05-12 13:29:55 · 33125 阅读 · 1 评论