编程技术

KMP算法深度解析

摘要:KMP算法是字符串匹配的经典算法,由于其O(m+n)的时间复杂度,至今仍被广泛应用。大道至简,KMP算法非常简洁,然而,其内部却蕴含着玄妙的理论,以至许多人知其然而不知其所以然。本文旨在解开KMP算法的内部玄妙所在,希望能够有助于学习与理解。1、KMP算法一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此称之为KMP算法。此算法可以在O(n+m)的时间数量级上完成串的模式匹配操作,其基本思想是:每当

系统 2019-08-29 22:30:45 2092

Python

十行代码--用Python写一个USB病毒

昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序。查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usbautorun)到。但是,如果我想,比如,当一个usb插入时,在后台自动把usb里的重要文件神不知鬼不觉地拷贝到本地或者上传到某个服务器,就需要特殊的软件辅助。于是我心想,能不能用python写一个程序,让它在后台运行。每当有u盘插入的时候,就自动拷贝其中重要文件。如何判断U盘的插入与否?首先我们

系统 2019-09-27 17:56:35 2091

Python

python实现根据图标提取分类应用程序实例

本文实例讲述了python实现根据图标提取分类应用程序,分享给大家供大家参考。具体方法如下:#!/usr/bin/python#-*-coding:utf-8-*-importImageimportwin32uiimportwin32guidefmake_regalur_image(img,size=(256,256)):returnimg.resize(size).convert('RGB')defsplit_image(img,part_size=(6

系统 2019-09-27 17:56:14 2091

Python

Python selenium使用入门

#版本python==3.7.3selenium==4.0.0a1#seleniumpypi地址https://pypi.org/project/selenium/在目录前提示一下,有时候我们在获取了一组元素,然后进行循环时,会报错'陈旧的元素.....',为了避免这个错误,建议在需要处理一组元素时,我们先算出元素的数量,然后通过range(element_counter),来通过索引值再次搜索需要处理的元素.目录:一、初始化二、元素查找三、select标

系统 2019-09-27 17:56:10 2091

Python

利用Python判定IP地址合法性的三种方法

在帮朋友解决这个问题后,随便记录一下这三种方法:第一种方法:使用正则表达式:因为当时的要求是判定10.0.0.1到10.255.255.255,原理其实是一样。这里简单回顾一下正则表达式模式的内容:常见的如:\d可以表示0~9的任意一个数字字符而\D是匹配一个非数字字符等价于^^是匹配字符串的开头,但放在[]中表示匹配不在[]中的字符$是匹配字符串的末尾.是匹配除了换行符任意字符{}表示重复几次,例如:^a{2,4}$aa,aaa或aaaa|的是或的意思[

系统 2019-09-27 17:55:59 2091

Python

python 读取excel文件生成sql文件实例详解

python读取excel文件生成sql文件实例详解学了python这么久,总算是在工作中用到一次。这次是为了从excel文件中读取数据然后写入到数据库中。这个逻辑用java来写的话就太重了,所以这次考虑通过python脚本来实现。在此之前需要给python添加一个xlrd模块,这个模块是专门用来操作excel文件的。在mac中可以通过easy_installxlrd命令实现自动安装模块importxdrlib,sysimportxlrddefopen_e

系统 2019-09-27 17:55:37 2091

Python

Python的IDEL增加清屏功能实例

为idle增加一个清屏的扩展ClearWindow就可以了(在http://bugs.python.org/issue6143中可以看到这个扩展的说明)。下面我说安装使用的方法。首先下载clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾),将这个文件放在PythonX\Lib\idlelib目录下(X为你的python版本),然后在这个目录下找到config-extensions.def这个文件(idle扩展的配置文件),

系统 2019-09-27 17:55:08 2091

Python

python之mock模块基本使用方法详解

mock简介mock原是python的第三方库python3以后mock模块已经整合到了unittest测试框架中,不用再单独安装Mock这个词在英语中有模拟的意思,因此我们可以猜测出这个库的主要功能是模拟一些东西准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为既然mock已经被整合到了unittest单元测试框架中,可想而知mock的目的就是为了让我们更好的进行测

系统 2019-09-27 17:54:56 2091

Python

python3获取当前目录的实现方法

1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.path[0]变量或者sys.argv[0]来获得。实际上sys.path是Python会去寻找模块的搜索路径列表,sys.path[0]和sys.argv[0]是一回事因为Python会自动把sys.argv[0]加入sys.path。具体来说,如果你在C:\test目录下执行p

系统 2019-09-27 17:54:47 2091

Python

Python游戏开发平台、脚本系统架构设计

Python游戏开发平台、脚本系统架构设计2.1开发平台2.1.1系统开发环境介绍当前程序是以python为编程语言,主要功能实现依赖于pygame模块,主要用到surface对象之间的位置变化,再利用事件监听让程序运行起来。运行中Surface对象的位置发生变化后,界面刷新,用户对鼠标与键盘进行操作时,监听操作完成相应事件。软件开发方式:①系统总体设计②系统详细设计③编码④测试系统运行环境:Windows7及更高版本;2.1.2数据库系统介绍MySQL是

系统 2019-09-27 17:54:30 2091

Python

Python基础(1)

目录四、Python基础(1)四、Python基础(1)1.什么是变量?一种变化的量,量是记录世界上的状态,变指得是这些状态是会变化的。2.为什么有变量?因为计算机程序的运行就是一系列状态的变化。3.定义变量在Python中定义变量:name='magua'age=24gender='man'height=168weight=2504.变量的组成三部分:1.变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。2.赋值符号:赋值3.变量值:存放

系统 2019-09-27 17:54:30 2091

Python

python-main

基础1、判断变量是否为None主要有三种写法:ifxisNone:ifnotx:ifnotxisNone:2、lambda函数的用法被称作匿名函数,没有具体名称的函数,允许快速定义单行函数,可以用在任何需要函数的地方。lambda与def的区别:def创建方法是有名称的,lambda没有;lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def会把函数对象赋值给一个变量;lambda只是一个表达式,def是一个语句;lambda表达式":"后

系统 2019-09-27 17:53:57 2091

Python

git+pylint实现python提交代码格式校验

环境:win10(64),python3.7.1,git2.7.2,pylint-2.3.1,git_pylint_commit_hook-2.5.1以上为当期搭建所用到的版本,有异常时方便查找问题。安装pylint,pylint是一个单独可以对python文件进行格式校验的模块,https://www.pylint.org/官网地址有各个电脑环境的安装说明,Windows下,使用:pipinstallpylint安装完成之后,就可以直接使用pylint对

系统 2019-09-27 17:53:18 2091

Python

python2的range()函数、xrange()函数和python

版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/91970111python2的xrange()函数,被发展成了python3的range()函数,而python2的range()函数则同raw_input()函数一样(详见https://blog.csdn.net/dugushangliang/article/details/8

系统 2019-09-27 17:52:55 2091

Python

2019最新Python爬虫面试高频率面试题总结(二)

今天接着跟大家总结Python爬虫面试中常见的高频面试题。有需要的伙伴用心看啦!1.Request中包含什么呢?1、请求方式:主要有GET和POST两种方式,POST请求的参数不会包含在url里面2、请求URLURL:统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL来唯一确定3、请求头信息,包含了User-Agent(浏览器请求头)、Host、Cookies信息4、请求体,GET请求时,一般不会有,POST请求时,请求体一般包含form-

系统 2019-09-27 17:52:44 2091