Category: Python / Wxpython

python: try catch, Python 异常处理, Python 获取异常名称, try与except处理异常语句

什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 获取error错误异常名字的实例: try: someFunction() except Exception as ex: template = "An exception of type {0} occurred. Arguments:\n{1!r}" message = template.format(type(ex).__name__, ex.args) print(message… Read More

python: JSON文件存储, python解析json, python读取json文件

JSON,全称为JavaScript Object Notation, 也就是JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。本节中,我们就来了解如何利用Python保存数据到JSON文件。 json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads(), 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON: import json data = { 'name' : 'ACME', 'shares' : 100, 'price'… Read More

Python: 读写文本文件, read()、readline()、readlines(), 逐行读取,python操作文本

读写文件是最常见的 IO 操作。通常,我们使用 input 从控制台读取输入,使用 print 将内容输出到控制台。实际上,我们也经常从文件读取输入,将内容写到文件。 读文件 在 Python 中,读文件主要分为三个步骤: 打开文件 读取内容 关闭文件 一般使用形式如下: try: f = open('/path/to/file', 'r') # 打开文件 data = f.read() # 读取文件内容 finally: if f:

Python报错:AttributeError: module ‘logging’ has no attribute ‘debug’, AttributeError: module ‘logging’ has no attribute ‘basicConfig’

import logging LOG_FILENAME = 'example.log' logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG) logging.debug('This message should go to the log file') 报错:AttributeError: module ‘logging’ has no attribute ‘debug’, 或者报错:AttributeError: module ‘logging’ has no attribute ‘basi… Read More

Python:logging模块详解, logging日志功能, logging实例

整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 怎样进行日志记录相关配置 日志记录使用常见误区 下面我们来梳理一下整个演讲的过程,其实其核心就是介绍了 logging 模块的使用方法和一些配置。 日志记录的重要性 在开发过程中,如果程序运行出现了问题,我们是可以使用我们自己的 Debug 工具来检测到到底是哪一步出现了问题,如果出现了问题的话,是很容易排查的。但程序开发完成之后,我们会将它部署到生产环境中去,这时候代码相当于是在一个黑盒环境下运行的,我们只能看到其运行的效果,是不能直接看到代码运行过程中每一步的状态的。在这个环境下,运行过程中难免会在某个地方出现问题,甚至这个… Read More

Python 网络爬虫:Urllib库的基本使用, requests不建议使用?

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。 Python3不像2x中酷虎的和服务器模块结构散乱,Python3中把这些打包成为了2个包,就是http与urllib,详解如下:   http会处理所有客户端–服务器http请求的具体细节,其中: (1)client会处理客户端的部分 (2)server会协助你编写Python web服务器程序 (3)cook… Read More

Python 网络爬虫:Python解析html, Beautiful Soup的用法

我们还有一个更强大的工具,叫Beautiful Soup,有了它我们可以很方便地提取出HTML或XML标签中的内容,实在是方便,这一节就让我们一起来感受一下Beautiful Soup的强大吧。 1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup自动将输入文档转换为Unicod… Read More

python:三元表达式, python三目运算符

python中没有其他语言中的三元表达式,不过有类似的实现方法   其他语言中,例如java的三元表达式是这样 int a = 1; String b = ""; b = a > 1? "执行表达式1":"执行表达式2" System.out.println(b) 在python中只有类似的替代办法,如果a>b的结果为真,h=”变量1″,如果为假,h=”变量2″ a = 1 b = 2 h = "" h = "变量1" if a>b else "变量2" print(h) 也可以用简单的公式,如下, a = 1 b = 2 h = "" h = a-b if a>b else a+b print(h)   &n… Read More

Python 网络爬虫:解析JSON, 获取JS动态内容—爬取今日头条, 抓取json内容

有一些网站的内容由前端的JS动态生成,由于呈现在网页上的内容是由JS生成而来,我们能够在浏览器上看得到,但是在HTML源码中却发现不了。比如今日头条: 浏览器呈现的网页是这样的:     查看源码,却是这样的:     网页的新闻在HTML源码中一条都找不到,全是由JS动态生成加载。 遇到这种情况,我们应该如何对网页进行爬取呢?有两种方法: 1、从网页响应中找到JS脚本返回的JSON数据;2、使用Selenium对网页进行模拟访问 在此只对第一种方法作介绍,关于Selenium的使用,后面有专门的一篇。 一、从网页响应中找到JS脚本返回的JSON数据 即使网页内容是由JS动态生… Read More

Python 报错:“’cookies.txt’ does not look like a Set-Cookie3 (LWP) format file”和“invalid Netscape format cookies”

如果遇到 http.cookiejar.LoadError: ‘cookies.txt’ does not look like a Set-Cookie3 (LWP) format file 或 http.cookiejar.LoadError: ‘cookie.txt’ does not look like a Netscape format cookies file 的问题, 那么,原因是cookies.txt文件的内容格式不对! 不知道怎么修改,怎么办呢? 办法:把 CookieJar自己cookie.save()保存下来的文件,用notepad打开来看看,就知道格式了   例如:报错: … Read More

Python 网络爬虫:利用requests模拟登录实例讲解, 手把手教你利用session/cookie模拟登录

  1. 了解cookie和session 首先一定要先了解到cookie和session是什么,这是后面理解网站交互,模拟用户登录的基础。   1.1. 无状态协议:Http 如上图所示,HTTP协议 是无状态的协议,用户浏览服务器上的内容,只需要发送页面请求,服务器返回内容。对于服务器来说,并不关心,也并不知道是哪个用户的请求。对于一般浏览性的网页来说,没有任何问题。但是,现在很多的网站,是需要用户登录的。以淘宝为例:比如说某个用户想购买一个产品,当点击 “ 购买按钮 ” 时,由于HTTP协议 是无状态的,那对于淘宝来说,就不知道是哪个用户操作的。为了实现这种用户标记,服务器就采用了cookie… Read More

Python 3 之Requests高级用法: Python爬虫利器Requests库的用法, Requests库操作session会话, Requests库操作SSL 证书验证

高级用法 本篇文档涵盖了 Requests 的一些高级特性。   会话对象 会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能。所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升。 (参见 HTTP persistent connection). 会话对象具有主要的 Requests API 的所有方法。 我们来跨请求保持一些 cookie: s = requests.Session() s.get('http://httpbin.org/cookies/set/s… Read More

Python 3 之 Requests快速上手: Python爬虫利器Requests库的用法, Requests库简明使用教程

安装 Requests 要安装 Requests,只要在你的终端中运行这个简单命令即可: $ pip install requests 如果你没有安装 pip (啧啧),这个 Python installation guide (英文)可以带你完成这一流程。或者看中文版:Python3安装 pip3 获得源码 Requests 一直在 Github 上积极地开发,你可以一直从这里获取到代码。 你可以克隆公共版本库: git clone git://github.com/kennethreitz/requests.git 也可以下载 tarball: $ curl -OL https://github.com/requests/requests/t… Read More

AI机器学习: 在 macOS 上安装谷歌的TensorFlow, machine learning, 人工智能学习

在 macOS 上安装 TensorFlow 本指南将介绍如何在 macOS 上安装 TensorFlow。虽然这些指令可能也适用于其他 macOS 版本,但我们只在满足以下要求的计算机上对这些指令进行过测试(并仅支持这些指令): macOS 10.12.6 (Sierra) 或更高版本 注意:GitHub#15933 中介绍了在低于 macOS 10.12.6 (Sierra) 的版本上已知的一些影响准确率的数值问题。 注意:从 1.2 版开始,TensorFlow 在 macOS 上不再支持 GPU。 确定如何安装 TensorFlow 您必须选择安装 TensorFlow 的方式。目前可支持如下几种方式: Virtualenv “原生”pip Docke… Read More