python获得子线程的返回值 import sysimport threadingimport Queueq = Queue.Queue()def worker1(x, y): func_name = sys._getframe().f_code.co_name print "%s run ..." % func_name q.put((x + y, func_name))def worker2(x, y):
python从子线程中获得返回值 # coding:utf-8import timefrom threading import Threaddef foo(number): time.sleep(20) return numberclass MyThread(Thread): def __init__(self, number): Thread.__init__(self)
python中decode和encode 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unico
决策树算法与Python实现 算法原理:决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。用下面一张图片就可以很直观的知道决策树是如何分类的:对于离散的属性值,根据每个属性下的类别分出叶节点,直到所有的叶节点里都是相同类型的数据类别构建思路:创建分支
机器学习实战——使用K-近邻算法识别手写数字 使用K-近邻分类器构造手写识别系统,手写数字图片已经经过处理成为文本文件,如下所示:每张图片都是32像素X32像素首先,我们要把每个输入的文本文件转换KNN算法(前面的KNN算法实践已经有了,这里就不贴了)可以处理的格式,即一维数组的形式,定义以下函数:def img2vector(filename): """ 将32x32的图像转化为1x1024的向量
机器学习实战——使用K-近邻算法进行约会配对 任务:通过海伦收集的3个特征,如: 1.每年获得的飞行常客里程数 2.玩视频游戏所耗的时间百分比 3.每周消费的冰淇淋公升数用K近邻的方法,预测海伦对未知对象的好感度主要步骤都是按照机器学习实战这本书进行的,代码实现如下:#!/usr/bin/python# -*- encoding:utf-8 -*-"""@author : kelvi
KNN算法及python实现 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。算法思想kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最
Python导入自己写的模块 1.如果自己写的一个python程序需要作为模块导入,则在使用的时候需要首先import sys,然后sys.path.append("c:/python"),c:/python是程序所在目录。意思就是告诉解释器除了从默认的目录中寻找之外,还需要从目录c:\python中寻找模块。这样之后就可以使用import hello(hello是自己编写的程序的名字)导入自己的模块了。2.将库文件复制到
Python安装第三方包 安装了anaconda的话,可以非常容易的安装第三方的包,因为它已经帮你安装了pip模块,可以直接pip安装。下面说说我安装第三方包的几个方法。1.conda install 包名2.pip install 包名3.在python官网的pypi里搜索包名,下载到本地,解压后,打开命令行,cd到安装包的文件夹输入python setup.py build输入python setu
Python带步进的切片 切片操作对python中所有可以索引的对象都可以切片操作1.带步进正向切片默认步进为1In[24]: a = '123456789'In[25]: a[0:8]Out[25]: '12345678'指定步进In[26]: a[0:8:2]Out[26]: '1357'带步进遍历In[33]: a[::2]Out[33]: '13579'2.带步进反
python字符串反转 python的str没有reverse属性,要反转字符串时可以使用以下方法:1.反向步进切片In[20]: a = 'ABC_()'In[21]: a[::-1]Out[21]: ')(_CBA'2.reversed()In[22]: reversed(a)Out[22]: In[23]: print ''.join(reversed(a)))(_CBArevers
Python字符串比较忽略大小写的方法 1.正则表达式,使用IGNORECASE标志>>> import re>>> m = re.search('multi', 'A mUltiCased string', re.IGNORECASE)>>> bool(m)2.在比较前把2个字符串转换成同样大写,用upper()方法,或小写,lower()>>> s = 'A mUltiCased string'.lower()>>
爬虫奇遇记——等待访问处理办法 有时候一些网站访问时间超级慢,爬虫一直在等待访问,没有访问就不执行下一步代码,这时我们可以通过超时设置来控制,当爬虫超过一定时间还没有访问到内容时,退出访问,执行下一步代码。参数是timeout。#coding:utf-8import urllib2try: url = "http://www.baidu.com" f = urllib2.urlopen(url, time
python中csv模块写文件时总是空一行的解决办法 在用python的csv模块时,用一般方法打开文件,进行写操作,总是会出现每行后面都自动空行的情况。with open('***.csv', 'a+') as f: csvwriter = csv.Dictwriter([...]) csvwriter.writerow()看了官方文档也找不到解决办法,后来通过搜索看到一个解决方法。就是csv的writer在window
计算mover distance的问题,速度太慢了 任务要用1000篇文章来跟数据集里面的9722篇文章做一个mover distance的计算,总共要求的9722000个结果,但是现在每个结果平均都要两秒以上,有可能更慢。用了多线程,开了10个线程也快不起来。电脑是128G内存,CPU是i7-6855。请大神指教,谢谢!源码#!/usr/bin/python# -*- encoding:utf-8 -*-"""@author
Python爬虫实战——蚂蜂窝国内目的地全抓取 上一篇文章爬的是豆瓣电影,是属于静态页面的,而且很有规律的,做起来比较容易。这次的蚂蜂窝国内目的主要有三点比较困难的地方1.不是静态页面,要通过post请求才能获得需要的信息,通过刷新网页可以看到发送了什么请求,或者也可以用网络监听器2.返回的响应是json形式的文件,不能直接用lxml去解析,要通过json模块来进行转化3.缺失信息的情况比较多,需要多种判断源码#!/usr/
Python爬虫实战——豆瓣电影top250 很多天没有发博客了,这几天在弄一个文本相似度的项目,问题一个接一个,忙活了好几天。今天分享一下之前的写的爬虫,用来爬豆瓣电影的top250。首先,F12看看电影的信息在哪里每个电影的信息都在这个class="item"的块中,好的,这下好办了,找到这个块,就可以一个个把里面的东西抓出来了。这里面最麻烦的还是处理信息缺失的问题,有的电影没有一句话评论,如果用了list来索引,
Python实用文本操作 记录不熟悉的文件操作,遇到一个记一个。1.打开文件,并且在末尾添加内容with open('**.txt', 'a+') as f: f.write()2.多行写入文件先把要写的文件存在列表中,然后用writelines()file = open('C:\docpath.txt', 'w')file.writelines(doc_path)file.close
Python爬虫实战——代理IP全部抓取 写爬虫程序时,为了使爬虫不被屏蔽,有时需要使用到代理IP,这时就要去免费的代理IP网站找IP,为了省事,我写了个爬虫程序,把代理IP网站的所有IP全部爬了下来,存在本地的文件里,以后需要直接从文件中读取。这个网页的内容比较容易抓取,我主要需要三个内容,http类型,IP地址和端口号以下是源码:#!/usr/bin/python# -*- encoding:utf-8 -*-