拥有Python标签的文章
Python

python装饰器与递归算法详解

1、python装饰器刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜有点点开始明白了。总结了一下解释得比较好的,通俗易懂的来说明一下:小P闲来无事,随便翻看自己以前写的一些函数,忽然对一个最最最基础的函数起了兴趣:defsum1():sum=1+2print(sum)sum1()此时小P想看看这个函数执行用了多长时间,所以写了几句代码插进去了:importtimedefsum1():s

系统 2019-09-27 17:38:08 1986

Python

Python爬虫包 BeautifulSoup 递归抓取实例详解

Python爬虫包BeautifulSoup递归抓取实例详解概要:爬虫的主要目的就是为了沿着网络抓取需要的内容。它们的本质是一种递归的过程。它们首先需要获得网页的内容,然后分析页面内容并找到另一个URL,然后获得这个URL的页面内容,不断重复这一个过程。让我们以维基百科为一个例子。我们想要将维基百科中凯文・贝肯词条里所有指向别的词条的链接提取出来。#-*-coding:utf-8-*-#@Author:HaonanWu#@Date:2016-12-2510

系统 2019-09-27 17:56:47 1985

Python

python中 selenium自动化windows安装Pillow

操作系统:windows10安装模块:Pillowpytesseracttesseract-ocr1、首先安装Pillow,可以选择安装windows版的安装包下载地址:https://pypi.org/project/Pillow/#files此处我选择安装Pillow-6.1.0.win-amd64-py2.7.exe2、安装完成后再进行安装pytesseract下载地址:https://pypi.org/project/pytesseract/#fi

系统 2019-09-27 17:54:22 1985

Python

使用Python编写一个模仿CPU工作的程序

今天早上早些时候,在我的PlanetPython源中,我读到了一篇有趣的文章"开发CARDIAC:纸板计算机(Developingupwards:CARDIAC:TheCardboardComputer)",它是关于名为Cardiac的纸板计算机的.我的一些追随者和读者应该知道,我有一个名为简单CPU(simple-cpu)的项目,过去的数月我一直工作于此,并且已经发布了源代码.我真的应该给这个项目提供一个合适的许可证,这样,其他人可能更感兴趣,并在他们自

系统 2019-09-27 17:49:22 1985

Python

仅用50行代码实现一个Python编写的计算器的教程

简介在这篇文章中,我将向大家演示怎样向一个通用计算器一样解析并计算一个四则运算表达式。当我们结束的时候,我们将得到一个可以处理诸如1+2*-(-3+2)/5.6+3样式的表达式的计算器了。当然,你也可以将它拓展的更为强大。我本意是想提供一个简单有趣的课程来讲解语法分析和正规语法(编译原理内容)。同时,介绍一下PlyPlus,这是一个我断断续续改进了好几年的语法解析接口。作为这个课程的附加产物,我们最后会得到完全可替代eval()的一个安全的四则运算器。如果

系统 2019-09-27 17:49:09 1985

Python

python SQLAlchemy的Mapping与Declarative详解

前面介绍过vSQLAlchemy中的Engine和Connection,这两个对象用在rowSQL(原生的sql语句)上操作,而ORM(ObjectRelationalMapper)则是一种用面向对象的思维来操作表数据的技术。所谓ORM就是Python对象到数据表的一种映射关系。以前SQLAlchemy是怎么把Python对象和数据库中表里面的每条记录进行映射的呢?通过一个mapping函数先来看个例子:fromsqlalchemyimportTable,

系统 2019-09-27 17:48:55 1985

Python

Python 转换文本编码实现解析

最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表。在获取csv文本内容的时候,基本上都是用withopen(filename,encoding='UTF-8')asf:来打开csv文本,但是实际使用过程中发现有些csv文本并不是utf-8格式,从而导致程序在run的过程中报错,每次都需要手动去把该文本文件的编码格式修改成utf-8,再次来run该程序,所以想说:直接在程序中判断并修改文本编码。基本思路:先查找该文本是否是utf-8的编

系统 2019-09-27 17:46:34 1985

Python

分析经典Python开发工程师面试题

你知道吗?实际上Python早在20世纪90年代初就已经诞生,可是火爆时间却并不长,就小编本人来说,也是前几年才了解到它。据统计,目前Python开发人员的薪资待遇为10K以上,这样的诱惑很难让人拒绝,所以这几年使得许多人纷纷学习Python。Python是一种解释型脚本语言,注重可读性和效率的语言,尤其是相较于Java,PHP以及C++这样的语言,它的这两个优势让其在开发者中大受欢迎,同时在运维领域也被大量运用到自动化运维场景中。如今使用到Python的

系统 2019-09-27 17:38:27 1985

Python

python logging 日志轮转文件不删除问题的解决方法

前言最近在维护项目的python项目代码,项目使用了python的日志模块logging,设定了保存的日志数目,不过没有生效,还要通过contab定时清理数据。分析项目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log

系统 2019-09-27 17:38:11 1985

Python

Python生成指定数量的优惠码实操内容

Python生成指定数量的优惠码打开Python开发工具IDLE,新建‘codeGen.py'文件,并保存导入需要的包,这里需要random和string,代码如下:importstringimportrandom假设需要生成200个,长度为10的优惠码,实际应用这个可以作为参数进来CODE_COUNT=200CODE_LEN=10设计的优惠码由字母和数字组成,通过下面函数获取所有字母和数字,字母区分大小写defstrall():return(string

系统 2019-09-27 17:37:48 1985

Python

详解Python的Django框架中Manager方法的使用

在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。在第5章,我们只是简要地说这是模块的manager。现在是时候深入了解managers是什么和如何使用了。总之,模块manager是一个对象,Django模块通过它进行数据库查询。每个Django模块至少有一个manager,你可以创建自定义manager以定制数据库访问。下面是你创建自定义manager的两个原因:增加额外的manager方法,和/或修ma

系统 2019-09-27 17:37:39 1985

Python

Python多线程实例教程

本文以实例形式较为详细的讲解了Python的多线程,是Python程序设计中非常重要的知识点。分享给大家供大家参考之用。具体方法如下:用过Python的人都会觉得Python的多线程很类似于Java的多线程机制,但是比JAVA的多线程更灵活。在早期的Python多线程实现中,采用了thread模块。例如:fromtimeimportctime,sleepfromthreadimportstart_new_threaddefloop1():print"ent

系统 2019-09-27 17:38:23 1984

Python

浅谈python对象数据的读写权限

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。下面就来总结一下学习后的解决方案。1,使用2个下划线前缀隐藏属性或者方法。__xxx#!/usr/b

系统 2019-09-27 17:38:10 1984

Python

高效测试用例组织算法pairwise之Python实现方法

开篇:测试过程中,对于多参数参数多值的情况进行测试用例组织,之前一直使用【正交分析法】进行用例组织,说白了就是把每个参数的所有值分别和其他参数的值做一个全量组合,用Python脚本实现,就是itertools模块中product方法(又称笛卡尔积法)。正交分析法的优点是测试用例覆盖率100%,缺点测试用例数量庞大,执行用例消耗的人工巨大。Pairwise(结对)算法源于对传统的正交分析方法优化后得到的产物,它的理论来自于数学统计。毫不避讳的说,本人看不懂数

系统 2019-09-27 17:54:21 1983