注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.6 应用程序接口API 现在我们拥有了用HTTP协议在应用程序间互换数据的能力.并且有了用XML或JSON,在应用程序间互发复杂数据的方法. 下一步是用这些技术来定义和记录程序间的协议.程序间的协议通用名是应用程序接口APIs.当我们使用一个API时,通常一个程序先生成可供其它程序使用的服务集,并且发布它的APIs,即访问程序提供的服…
这几天因为其他事务,打断了自己的学习计划,今天继续我的翻译,避免又中途而废. 注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.7 谷歌的 geocoding 网页服务 谷歌公司有一个非常优秀的网页服务叫做geocoding.这个服务允许我们使用他们庞大的地理信息数据库.当我们向geocoding API提交一个"Ann Arbor, MI"的地理位置查找字符串后…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 13.4 JavaScript Object Notation-JSON JSON的格式灵感来自JavaScript语言中的对象和数组格式.因为Python语言的发明比JavaScript要早,所以Python关于词典和列表的语法影响了JSON的语法,故而JSON和Python的词典和列表的结合体几乎完全相同. 以下是JSON的一个编码,它…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 一旦利用程序通过HTTP协议获得并分析文档变得简单,那么开发生成一个特殊设计的.供其他程序使用的文档(不是在浏览器中显示HTML)的方法也不用花太长时间. 我们使用的通过网页互换数据的通用格式有这么两种:扩展标记语言XML和JSON(见 www.json.org).XML已经应用多年,最适合互换文档样式数据.当程序之间只想互换字典.列表或者…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.5 HTML分析和网页抓取 urllib库一项最常用的功能是抓取网页.就是我们编写一个程序,将自己伪装成网页浏览器,在获取网页之后,再以查找模式检索网页中的数据. 以搜索引擎Google为例,它将查看一个网页的源码,然后抽取其中的链接,再用这些链接获取网页.抽取链接,并一直循环.使用这个技巧,Google几乎爬遍网页上的所有页面. G…
第1-3章 这个文档是记录我学习python时一些学习笔记以及一些想法也可以称作复习笔记 第一章:起步这一章主要是从第一个"hello world"程序到python环境的搭建与配置,因为我在Mac上用的一个叫Jupiter Notebook的网页端界面,所以就省去了这个步骤,直接进行后面的练习了,当然后面到小项目的时候也许还是需要熟练的在Windows.MacOS.Linux三个不同环境下搭建环境的. 第二章:变量和简单数据类型这一章主要涵盖了:变量.字符串.数字.注释.python…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.9 词汇表 BeautifulSoup: 一个用于分析HTML文档,并从中抓取数据的Python库.它弥补了大部分在浏览器中被忽略的HTML缺陷.你可以从www.crummy.com下载BeautifulSoup代码. port:端口.当你用套接字链接服务器,通常表示正在联系的的服务器应用程序的数字.例如,网页服务使用80端口,电子邮…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.7 用BeautifulSoup分析HTML 有很多Python库可以帮你分析HTML和抓取数据.每个库都有它们各自的强项和弱点,你可以基于你的需求选择一个. 下面的例子,我们将使用BeautifulSoup来分析一些HTML的输入,并抓取链接信息.你可以从www.crummy.com下载和安装BeautifulSoup代码.你可以在…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 本书中的许多例子关注的是读取文件并查找数据,但在互联网中还有许多不同信息源. 本章我们将伪装成浏览器用超文本传送协议(HTTP)从网站获取网页,通读并分析它. 12.1 超文本传送协议-HTTP 支撑网页运转的网络协议实际非常简单,在Python中内置了套接字(socket)模块,使得使用套接字创建网络连接并获取数据变得非常容易. 套接字最…
14.1 什么是数据库 数据库一种存储结构数据的文件.绝大多数数据库类似字典——映射键和值的关系.最大的区别是数据库是保存在硬盘或其它永久性的存储上,所以在程序结束后它仍然存在.而保存在内存中的字典容量受限于计算机的内存配置,所以数据库可以比字典存储更多的数据. 类似字典,数据库软件在插入和访问数据时非常迅速,即使是庞大的数据.通过创建数据索引,数据库软件维持它的性能,并允许计算机快速跳至一个特定入口. 目前有很多不同目的的数据库系统,包括:Oracle, MySQL, 微软的SQL Serve…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.3 用HTTP协议获取一张图片 在上一节的例子中,我们获取的是一个有换行符的文本文件,并简单的把它显示在屏幕上.同样我们可以用一个小程序通过HTTP协议获取图片.下面这个程序运行时,不是直接在屏幕上显示数据,而是剔除头信息,然后将收到的数据合并保存为一个图片文件.具体代码如下: import socket import time my…
14.5 SQL 总结 到目前为止,我们在Python示例程序中使用了SQL,并且涉及了许多SQL基础.在这一小节中,我们特别审视SQL语言,并对其语法进行回顾. 虽然有很多不同的数据库供应商,但因SQL语言是标准化的,所以我们可以在不同的数据库系统中方便地移植. 一个关系数据库是由表.行和列构成的.列通常拥有一种类型属性,比如文本,数字或数据.当我们创建一张表,我们需要指定列的名称和类型: CREATE TABLE Tracks(title TEXT, plays INTERGER) 我们用S…
14.4 创建数据库和表 相比Python的列表和字典,数据库需要更多的已定义结构. 在我们创建数据库表之前,我们必须预先告诉数据库表和列的命名,以及计划保存到列中和数据类型.当数据库软件预先知道每列中的数据类型,它就可以选择最有效的方式保存和查找数据. 你可以通过以下链接,查看SQLite支持的各种数据类型: http://www.sqlite.org/datatypes.html 预先定义数据结构看起来不是很方便,但它可以使你快速访问数据即使数据库中包含了大量数据. 以下代码创建了一个数据库…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进制文件 有时你想获取一个非文本文件,或者说二进制文件,比如图像或视频.这些文件中的数据不用打印出来,但是你可以轻松地用urllib从网络获取一份拷贝到你的硬盘. 打开网络地址,读取并下载整个文档的内容至一个字符串变量(img),然后把文档内容写到本地文件的方式如下: import urllib.request…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.7 调试 Python有一些简单和基本的内置文档,当你想快速复习触发你记忆的特定方法,这将非常有用.这个文档可以通过Python解释器在互动模式下查看. 你可以使用help()命令带出互动的帮助系统 >>> help() Welcome to Python 3.4's help utility! If this is…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.4 转义字符 之前我们在正则表达式中使用特殊字符来匹配一行的开头和结尾,或者是指定通配符,当我们想匹配象"$"或"^"的实际字符时,我们需要一个方法来表示这些“正常”的字符. 我们可以简单的在字符前添加反斜线"\"即可实现匹配.例如,我们可以使用下面的正则表达式找到金钱数额:…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 目前为止,我们一直在通读文件,查找模式和抽取字里行间我们感兴趣的各种信息.我们一直在使用像split和find的字符串方法,以及列表和字符串的切片功能来抽取行中的部分内容. 像这样的查找和抽取任务是如此常见,所以Python拥有一个非常强大的库——正则表达式(regular expressions)来优雅地处理这些任务.我们未早一点介绍正则…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.3 组合查询和抽取 如果我们想以“X-”字符串开头的行中找到数字,就像下面两行字符串: X-DSPAM-Confidence: 0.8475X-DSPAM-Probability: 0.0000 但我们不只是要任意行中的任意浮点数,而是具备上面格式的行中的数字. 我们可以创建以下正则表达式来选择这样的行: ^X-.*: [0-9.]+…
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.1 正则表达式的字符匹配 我们可以用许多其它的特殊字符创建更加强大的正则表达式.最常用的特殊符号是可匹配任何字符的句号(".").在以下的示例中,正则表达式”F..m:“将匹配”From:”,“Fxxm:",”F12m:“,或者”F!@m:“等类似字符串,因为表达式中间的句号可匹配任何字符. import…
章节简述: 本章节将让您理解DNS服务程序的原理,学习正向解析与反向解析实验,掌握DNS主服务器.从服务器.缓存服务器的部署方法. 够熟练配置区域信息文件与区域数据文件,以及通过使用分离解析技术让不同来源的用户得到更合适的解析结果. DNS服务作为互联网的基础设施,我们还可以配置BIND服务程序支持TSIG安全加密传输机制,从而保障解析数据不被嗅探监听. 本章目录结构 13.1 了解域名解析服务 13.2 安装Bind服务程序 13.3 DNS服务的解析实验 13.3.1 正向解析实验 13.3…
13.0 序 这一章我们就来看看python中类是怎么实现的,我们知道C不是一个面向对象语言,而python却是一个面向对象的语言,那么在python的底层,是如何使用C来支持python实现面向对象的功能呢?带着这些疑问,我们下面开始剖析python中类的实现机制.另外,在python2中存在着经典类(classic class)和新式类(new style class),但是到Python3中,经典类已经消失了.并且python2官网都快不维护了,因此我们这一章只会介绍新式类. 13.1 p…
上一章已经讲过if条件语句,这章重点是循环语句:while.for 本章的重点内容 1.while循环 1)一般形式 2)break.continue.pass和循环的else 2.for循环 1)一般形式 2)示例应用:基础应用.元组赋值.扩展序列赋值.嵌套for循环 3.编写循环的技巧 1)range 2)zip 3)enumerate 以下为本章重点内容的详细说明 1.while循环 1)一般形式:以下是完整形式,注意分段及缩进 while test: statements else: s…
一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第13章 Hadoop的发展趋势小组已经翻译完成,在此对:hbase-深圳-18361.旅人AQUARION表示感谢. 二.意见征集: 本章节由<Hadoop专业解决方案群:313702010>翻译小组完成,为小组校验稿,已经通过小组内部校验通过,特此面向网络征集意见,如果对本章节内容有任何异议,请在评论中加以说明,说明时,请标明行号,也可以以修订的方…
 python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lambda表达式和三元运算的结合,充分的减少了代码的数量 2.python的内置函数 1 绝对值 abs() 2 all()循环参数,如果每个参数都为真.则all返回True all(里面是iterable) 注意假值都有:0 none False [] {}  '' () 都为假值 3 any() 只要…
Linux就这个范儿 第13章 打通任督二脉 0111010110……你有没有想过,数据从看得见或看不见的线缆上飞来飞去,是怎么实现的呢?数据传输业务的未来又在哪里?在前面两章中我们学习了Linux网络方面的各种工具,打造了形形色色的网络服务.然而我们并不满足于仅仅知道这些表面的知识,还希望深入了解它们的底层实现.那就来吧,打通任督二脉,探究不同类型的网络以及隐藏在网络后面的世界. 13.1 了解网络驱动工欲善其事,必先利其器.二十年前我们还走在狭窄的乡间小道开着信息牛车.时至今日,信息高速公路…
第13章 守护进程 13.1 引言 *守护进程也称精灵进程(daemon)是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNIX系统有很多守护进程,它们执行日常事务活动 13.2 守护进程的特征 *系统进程依赖于操作系统实现.父进程ID为0的各进程通常是内核进程,它们作为系统自举过程的一部分而启动.(init是此种进程的例外,它是内核在自举时启动的用户层命令.)内核进程是特殊的,通常存在于系统的整个生命期中.它们以超级用户…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(下)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Services 本章节译文分为上下篇,上篇见:C# 6 与 .NET Core…
第13章 利用 PCA 来简化数据 降维技术 场景 我们正通过电视观看体育比赛,在电视的显示器上有一个球. 显示器大概包含了100万像素点,而球则可能是由较少的像素点组成,例如说一千个像素点. 人们实时的将显示器上的百万像素转换成为一个三维图像,该图像就给出运动场上球的位置. 在这个过程中,人们已经将百万像素点的数据,降至为三维.这个过程就称为降维(dimensionality reduction) 数据显示 并非大规模特征下的唯一难题,对数据进行简化还有如下一系列的原因: 使得数据集更容易使用…
第13章      RL-TCPnet之TCP服务器 本章节为大家讲解RL-TCPnet的TCP服务器实现,学习本章节前,务必要优先学习第12章TCP传输控制协议基础知识.有了这些基础知识之后,再搞本章节会有事半功倍的效果. 本章教程含STM32F407开发板和STM32F429开发板. 13.1  初学者重要提示 13.2  TCP服务器API函数 13.3  TCP配置说明(Net_Config.c) 13.4  TCP调试说明(Net_Debug.c) 13.5  TCP服务器的实现方法…
第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 Instance 中.虽然复制过程并不是实时而是异步进行的,但是由于其高效的性能设计,延时非常之少.MySQL 的Replication 功能在实际应用场景中被非常广泛的用于保证系统数据的安全性和系统可扩展设计中.本章将专门针对如何利…