自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 迭代解包(元组解包、元组拆包)Iterable Unpacking

迭代解包,在Python的官方文档里面提的是:Extended Iterable Unpacking(https://www.python.org/dev/peps/pep-3132/)有些情况下,有做元组解包,元组拆包之类的,都是一些翻译因素。其实都是一类意思,迭代解包比元组解包覆盖的更全一些。当然为什么叫元组** ,这个就没有发现为什么了,但是这个并不影响我们的使用和理解,

2017-10-13 10:24:21 5992

原创 Django的信号———Signals

Django的信号———Signals我们经常会在影视作品中听到一句话: 看我的眼神行事。 我们: 嗯嗯?? 眼神。这个眼睛小了可能看不到。 那这个信号就很难说收不收的到了,还好代码不会模糊。 在Django中当我们需要在某些Model改变时候,做一些用户权限修改,或者通过引擎下发一些内容,可以使用Django本身的信号机制。 Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发...

2018-03-07 17:23:14 406

原创 Django的Model

整理记录一下Django的Model相关内容,工作中实际用到的点其实不是非常多,但是可以对于Model的一些特性做一些记录,也许长久会发现一些比较好的方式来做同样的事情。一、Basic:1、每个model是 django.db.models.Model 的子类来自 https://docs.djangoproject.com/en/1.11/topics/db/models

2017-12-15 11:21:50 512

原创 彻底理解Python迭代器

如何理解迭代对象迭代器以及迭代协议: Iterable              Iterator 1、可迭代对象和迭代器 可迭代的对象有个 __iter__方法,每次都实例化一个新的迭代器;而迭代器要实现 __next__方法,返回单个元素,此外还要实现 __iter__方法,返回迭代器本身 可迭代的对象一定不能是自身的迭代器。也就是说,可迭代的对象必须实

2017-10-18 17:28:31 7934 3

原创 MongoDB——shutting down with code:100

Ubuntu启动时错误按照README文档,解压完mongodb压缩文件之后执行./mongod 输入启动命令,出现如下情况: ./mongod 2017-05-03T02:44:28.693-0700 I CONTROL [initandlisten] MongoDB starting : pid=2286 port=27017 dbpath=/data/db 64-bit

2017-05-04 11:10:30 10735 4

原创 Python函数式编程

之前有段时间看了一下函数式相关的东西,Python本身内建的一些函数对于代码的处理效率有很大的提升。所以采用比如map/reduce等函数式的编程方法能更好的把代码从for...in等遍历中解放出来,可读性也是有点帮助的。函数式(Functional Programming )Python介绍函数式,允许把函数本身作为参数传入另一个函数,还允

2017-04-06 23:08:01 345 1

原创 Django-View

view must be a callable or a list/tuple in the case of include() Django使用manage.py文件运行的时候发现命令行出现上述错误,查看原因发现是: Django的1.10版本之后不能使用如下语法:from django.conf.urls import include, url1.10版本之后不能通过导入模式

2016-11-21 23:43:52 469

原创 使用windows API获取本地主机的MAC地址

本地网卡的MAC地址可以通过ARP协议获得,也可以通过API查询获得,IP Helper API中还有一组管理网络适配器的API,其中有一个可以获得网卡相关信息。DWOED GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo;PULONG pOutBufLen;);两个参数分别是:存储网卡信息的缓冲区指针和缓冲区大小。// GetAd

2015-10-14 17:17:49 3039

原创 使用SendArp()探测局域网内主机的MAC地址

主要知识:Windows有自带的API叫IP Helper,其中有一个API 为SendArp()可以实现通过ARP协议获取指定的IP地址,MAC地址功能,具体格式如下:DWORD SendArp(IpAddr DestIp;IpAddr ScrIp;PULONG pMacAddr;PULONG PhyAddrLen;);四个参数分别是目的IP地址,源IP地址(一般

2015-10-13 09:36:44 7787

原创 函数式编程——函数笔记

Python函数式编程(函数)2.2、从函数开始:定义一个函数:def add(x, y):return x+y使用lambda可以定义简单单行匿名函数:lambda的语法是:lambda args:expression参数与普通函数一样,表达式的值就是匿名函数返回的值lambda_add = lambda x,y:x+y使用lamb

2015-10-02 23:44:28 362

原创 HTTP协议简述

HTTP(HyperText Transfer Protocol):超文本传送协议1、HTTP操作过程HTTP是一个应用层协议,使用TCP连接进行可靠的传送。HTTP本身是无连接的,就是说虽然HTTP采用了 TCP连接,但通信双方在交换HTTP报文之前不需要先建立HTTP连接。HTTP协议是无状态的:同一个客户第二次访问同一个服务器时,服务器的响应与第一次访问时相同。这种无

2015-10-01 11:11:47 522

原创 函数式编程笔记

参考来源:http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.htmlhttp://www.cnblogs.com/huxi/archive/2011/06/18/2084316.html函数式编程使用一系列函数解决问题。函数仅仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下

2015-09-27 11:11:57 429

原创 pip的一些问题

在命令控制行输入python -m pip install -U pip即可更新,因为网络原因可能会失败,我在更新时候第一次显示失败,第二次显示成功更新。

2015-09-24 18:51:59 404 1

原创 OSI7层网络协议

OSI七层协议模型:由上到下分为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层‌‌‌‌‌‌‌‌各层协议作用实现:‌‌‌‌‌‌‌‌每层都有清晰的定义

2015-09-23 10:31:15 503

原创 Python之列表推导式

列表推导式(List Comprehension):就是一种很方便的遍历方式。而且除了方便之外,速度通常也会比for循环高出许多。利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法。 列表推导式书写形式: [表达式 for 变量 in 列表]或者可以添加判断[表达式 for 变量 in 列表 if 条件] 计算5个数字的次方: author = ‘LL_YING’ numbe

2015-09-22 23:38:04 475

原创 二叉树的深度

# -*-coding:utf-8-*-__author__ = 'LL_YING'# 二叉树的深度为根节点到最远子节点的距离'''可采用:广度优先搜索(BFS:Breadth First Search),又名宽度优先搜索和深度优先搜索(DFS:Depth First Search)两种:广度优先搜索:属于一种盲目的搜索算法,目的是系统的展开并检查图中的所有结果。换句话说,它并不会考

2015-09-17 23:39:44 356

原创 找出一组数中只出现一次的元素

# -*-coding:utf-8-*-# Python2.7__author__ = 'LL_YING'# 找出一组数中只出现一次的元素。注:其它元素都出现过两次。class Solution(): def singleNumber(self, A): ''' :param A:a list of integer :return:i

2015-09-14 11:47:03 889

原创 罗马数字到整数转换

# -*-coding:utf-8-*-__author__ = 'LL_YING'# 罗马数字计数方法:# 1、相同的数字连写表示这些数字相加的得到的数,比如III=3。# 2、小的数字在大的数字的右边,表示的数字等于这些数字相加得到的数,比如VII=8,XII=12。# 3、小的数字(限于I,X,C)在大的数字的左边,所表示的数等于大数减小数得到的数,比如IV=4。# 4、在一个数

2015-09-11 21:09:17 353

原创 Python中is和==的区别

>>>a = 'hi'>>>b = 'hi'>>>a == bTrue>>>a is bTrue>>>a = 'Hello'>>>b = 'Hello'>>>a is bTrue>>>a == bTrue>>>a = 'I am using a long long long string'>>>b = 'I

2015-09-08 23:02:13 413

原创 快速排序Python实现

__author__ = 'LL_YING'def Quicksort(array): less = []; greater = [] if len(array) 1: return array else: pivot = array.pop() for i in array: if i <= piv

2015-09-07 22:17:16 365

原创 线程之间的通信

__author__ = 'LL_YING''''Python提供了Event对象用于线程之间的通信。事实上,线程同步一定程度上实现了线程间通信。线程同步是每次仅有一个线程对共享数据进行操作,其他线程等待。Event对象是由线程设置的信号标志,如果信号标志为真则其他线程等待,直到信号解除。'''import threading'''1、设置信号:Event对象的set()方法设置E

2015-09-04 23:07:17 386

原创 使用队列让线程同步

__author__ = 'LL_YING''''Python中的Queue对象提供对线程同步的支持。使用Queue对象可以实现多生产者和多消费者形成先进先出的队列。每个生产者将数据一次存入队列,而每个消费者依次从队列中取出数据。'''import threadingimport queue # Python2中是Queue模块queue = queue.Queue()class

2015-09-04 23:06:28 387

原创 Python使用条件变量保持线程同步

__author__ = 'LL_YING''''生产者消费者模型:生产者必须等到队列有空间踩可以继续投放商品,如果空间已满,则需要等待消费者消耗商品。生产者必须在等待时间内释放队列的占有权,然后消费者才能消耗了商品通知生产者队列有空间。'''import threadingcon = threading.Condition()class Producer(threading.Th

2015-09-04 23:05:49 425

原创 Python简单线程同步

__author__ = 'LL_YING''''多线程环境下,如果多个线程同时对某个数据进行修改,可能出现不可预料的结果。为保证数据被正确修改,就需要对多个线程进行同步。使用Thread对象的Lock和RLock实现简单的线程同步。如果某个数据在某一时刻只允许一个线程进行操作,则可以将操作放在acquire方法和release方法中间。'''import threadingimpo

2015-09-04 23:04:30 405

原创 Python线程的daemon属性

__author__ = 'LL_YING''''脚本运行中,如果主线程之外又创建一个子线程,当主程序退出时会检查子线程是否完成。如果未完成则主线程会等待子线程完成后退出。如果想要不管子线程状态主线程都可以退出,则设置Thread对象的daemon属性为True来完成。'''import threadingimport timeclass myThread(threading.T

2015-09-04 23:03:45 538

原创 Python线程的线程名

__author__ = 'LL_YING''''线程名在类的初始化中定义,也可以使用Thread对象的setName方法设置。使用Thread对象的getName方法获得对象名。'''import threadingclass MyThread(threading.Thread): def __init__(self, threadname): threadin

2015-09-04 23:02:37 6674

原创 Python线程isAlive方法

__author__ = 'LL_YING''''线程创建之后,可以使用Thread对象的isAlive方法查看线程是否运行,为True则运行'''import threadingimport timeclass myThread(threading.Thread): def __init__(self, num): threading.Thread.__in

2015-09-04 23:01:22 14910 1

翻译 第十一章,图像处理和文本认证

第十一章、图像处理和文本认证从谷歌的自动驾驶汽车到自动售货机识别假币,机器视觉是一个具有深远的目标的意义的领域。在本章中,我们将专注于该领域的一个很小方面:文字识别,具体通过使用各种Python库来识别和使用在线的文本图像。使用图像代替文本是一个常用的拒绝机器人来访问和阅读的技术。当邮件地址是部分或者完全呈现为图像时,这时就经常在联系人表单看到。取决于它是如何巧妙的完成,它甚至可能

2015-09-02 23:24:25 1415

原创 Python线程的两种创建方法

第一种:__author__ = 'LL_YING'import threading# 通过继承Thread创建类class newThread(threading.Thread): def __init__(self, num): threading.Thread.__init__(self) self.num = num def r

2015-09-02 23:20:17 4955

原创 Python的Threading模块的Thread对象的join方法

__author__ = 'LL_YING''''Thread对象的join方法:如果线程或者函数在执行过程中调用另一个线程,并且需要等待调用的线程完成后在继续当前线程或者函数的执行,那么可以在调用线程中使用被调用线程的join方法。'''import threadingimport timeclass MyThread(threading.Thread): def __in

2015-09-02 23:16:08 859

原创 windows中Python2.x和Python3.x之间的切换

官方描述:New in version 3.3.The Python launcher for Windows is a utility which aids in the location and execution of different Python versions. It allows scripts (or the command-line) to indicate

2015-09-01 00:11:43 652

翻译 第九章、通过表单和登录抓取

第九章、通过表单和登录抓取当你跨过了网络爬虫的基础知识第一个问题就来了:“我如何访问登录界面后面的信息?”网络是日益增长的社交媒体和用户生成内容的相互作用。表单和登录是这类型网站的一个几乎无法避免的组成部分,幸运的是,他们也比较容易处理。到目前为止,我们爬虫中大多数的与服务器交互的例子只包括使用HTTP的GET方法请求信息。在本章中,我们将重点放在给web服务器推送信息进行存储和分

2015-08-20 11:29:07 1482

翻译 第二部分:高级抓取(第七章、清理脏数据)

第二部分:高级抓取(第七章、清理脏数据)你已经奠定了一些网页抓取的基础:现在到了有趣的部分。在现在之前,我们的网络爬虫一直都比较愚蠢。他们无法检索信息,除非服务器会立即呈现给他们一个很好的格式。他们收集一切信以为真的信息并且没有任何分析的简单的存储。他们因为格式、网站的互动甚至JavaScript导致程序出错。总之,他们没有很好的检索信息,除非该信息真的想被检索。

2015-08-17 13:01:39 2716

翻译 web scraping with python 第六章、读取文档

第六章、读取文档我们很容易想到因特网的主要内容是散布在最流行的web2.0的多媒体内容的文本集合,这几乎忽略了网页抓取的目的。然而,这忽略的互联网最根本的是:一个内容未知媒介来传输文件。尽管互联网从60年代后期就围绕着某种形式或者另外一种,直到1992年HTML出现。在那时,互联网主要由电子邮件和文件传输组成;我们现在所知的网页的概念在那时候并没有真正的存在。也就是说,互联网不是H

2015-08-14 13:26:16 1771

翻译 第五章 存储数据 web scraping with python

第五章.存储数据尽管在终端打印是有很多乐趣的,但是当谈到数据汇总和分析时候这不是非常有用的。为了使大部分的爬虫有用,你需要能够保存它们抓取的信息。在本章中,我们将着眼于的三个数据管理的方法满足任何可以想象的程序。你需要一个网站的后台权限或者创建你自己的API吗?你可能希望你的爬虫写入到数据库。需要一个简单快捷的方法从互联网上收集文档并且把它们放在你的硬盘上?为此你可能需要创建一个文

2015-08-11 13:05:53 1459

翻译 使用API 第四章web scraping with python

Chapter 4.使用API像其他很多有大型项目工作经验的程序员,我也有我和其他人的代码工作的恐怖故事。从命名空间的问题到函数输出的类型问题,尝试从A点到B方法获取信息简直是一个噩梦。这就是应用程序编程接口派上用场的时候:它们提供很好的,多个不同的应用程序之间方便的接口。如果这个应用程序由不同的程序员,使用不同的体系结构,甚至于不同的语言都是不重要的——API是旨

2015-08-08 23:20:15 1927 1

翻译 爬虫抓取 第三章

Chapter3.开始抓取到目前为止,本书的之前的例子讲的是单个静态页面,用了一些人为的页面。在本章中,我们将开始寻找一些现实世界中的问题,用爬虫跨越多个页面,甚至多个多个站点。网络爬虫之所以被叫做网络爬虫是因为他们可以在整个网络上抓取,它的核心元素是递归。他们必须检索URL的整个页面,检查该页面的其他URL,并继续检索,循环往复。但是要注意,你可以抓取页面但是并不意味着你要那么做。之前例

2015-08-06 19:50:08 4444 2

翻译 网络爬虫 HTML的高级解析 <web scraping with python>第二章

Chapter 2 .HTML的高级解析当有人问米开朗琪罗他是怎么雕刻出如同大卫那样绝妙的艺术品时,他说了一句后来著名的话,他说:“这非常的简单啊。你刚才雕刻带走的那块石头只是长的不像大卫啊。”尽管网页爬虫在很多方面和大理石雕刻并相同,但是我们从复杂的页面上提取我们找寻的信息的时候,必须有着相似的态度。有很多技术去分离我们找寻的内容,直到我们获取到我们需要内容。在这一章,我们将看一下解析复

2015-08-06 19:47:48 4681

翻译 Python网络爬虫<Web Scraping With Python-----O‘Reilly>

学习Python网络爬虫,一直没有什么很好的书籍来看。在网上发现了这本Web Scraping With Python-----O‘Reilly的英文版,无奈没有发现中文翻译。所以,趁着假期无事尝试翻译出来当是一次特别的学习过程,也希望拿出来给需要的人一些小小的帮助。这是翻译的第一章,后续章节会陆续翻译。第一次翻译必有很多不足之处,语言牵强附会,词不达意等情况希望大家多包涵。如果有侵权行为请及时告

2015-07-21 18:36:59 4366 1

USB转串口驱动

USB转串口驱动.不适用于64位系统.一般情况基本可用

2014-05-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除