搜索到与相关的文章
各行各业

修改键盘中断描述符表

修改中断描述符表(IDT)中的键盘入口实现按健记录,把读取到的键盘扫描码转换成ascii码记录下来。查找键盘入口采用了查询IOAPIC的重定向寄存器的方法(通过把物理地址0xFEC00000映射为虚拟地址,然后读取键盘中断向量,最难得是没有xpsp2的限制了。这是我从别处转过来的驱动源码,WindowsXPCheckedBuildEnvironment测试过。#include#include#defineMAX_CHAR

系统 2019-08-12 09:26:46 2000

编程技术

大话设计模式---备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。Memento模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以根据保存的Memento信息还原到前一状态。大话设计模式---备忘录模式

系统 2019-08-12 01:33:16 2000

Python

Python高效编程

工作中经常要处理各种各样的数据,遇到项目赶进度的时候自己写函数容易浪费时间。Python中有很多内置函数帮你提高工作效率!一:在列表,字典中根据条件筛选数据1.假设有一个数字列表data,过滤列表中的负数列表推导式result=[iforiindataifi>=0]filterresult=filter(lambdax:x>=0,data)2.学生的数学分数以字典形式存储,筛选其中分数大于80分的同学d={x:randint(50,100)forxinra

系统 2019-09-27 17:55:58 1999

Python

Python为啥这么招人稀罕?

用Python的理由现在有数百种编程语言可供使用,从成熟的C和C++到Ruby、C#和Lua等新秀,再到Java这样的企业级重器。要选择一门编程语言来学习确实很难。虽然没有一种语言能适合任何场景,但我觉得,对于大量的编程问题来说,Python都算得上是个好选择。如果正在学习编程,Python也是一个不错的选择。目前全球有数十万名程序员都在使用Python,并且用户数每年都在增长。Python能够持续吸引新用户,是有很多理由的。Python是一款真正的跨平台

系统 2019-09-27 17:55:43 1999

Python

python单例模式

目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在

系统 2019-09-27 17:55:32 1999

Python

【实战演练】Python+Django网站开发系列06-django数据库创建

在前面(【实战演练】数据库基本知识与原理系列https://blog.51cto.com/14423403/2418820)的文章,已经分享过数据库的原理,设计与开发的范式,以及根据我们django项目的需求,进行了数据库的设计。另外也介绍过数据库操作的基本SQL命令。以前不使用web框架来进行开发,那么就需要在一个php或者py文件(页面文件里面),从展示层(html、css、js)到逻辑层(php、python)到数据层(SQL)的东西都要写。直接用p

系统 2019-09-27 17:55:27 1999

Python

解决python3 安装不了PIL的问题

python3无法正常安装PIL,因为PIL只支持python2各个版本,还没有python3的版本。这里是PIL官网http://www.pythonware.com/products/pil/可以看出只支持python2。不过有一个可以替代PIL的包,并且可以在python3上正常安装。Pillow包。Windows下安装方法:step1:windows+Rstep2:cmdstep3:pipinstallPillow截图如下:安装成功,大功告成。以上

系统 2019-09-27 17:54:39 1999

Python

Python实现多线程/多进程的TCP服务器

多线程的TCP服务器,供大家参考,具体内容如下背景:同学公司的传感器设备需要将收集的数据发到服务器上,前期想写一个简单的服务器来测试下使用效果,设备收集的数据非常的重要,所以考虑使用TCP协议来实现。因为只是测试使用,所以采用多线程的方式,毕竟节省资源嘛(使用协程时会导致I/O阻塞)开门见山,直接搬上来了一、tcp_server_v1.0使用说明:1.运行环境:python3解释器,并安装socket、threading模块;2.该版本使用多线程实现的多任

系统 2019-09-27 17:53:40 1999

Python

python 小细节

1.递归时用self.函数名2.python中只有None表示空,没有null,NULL3.切片:切片的语法表达式为:[start_index:end_index:step],同时索引可分为正向和负向两种,其中:start_index表示起始索引end_index表示结束索引step表示步长,步长不能为0,且默认值为1或split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num+1个子字符串str.split(str="",num

系统 2019-09-27 17:53:07 1999

Python

opencv-python 图像灰度变换

灰度变换作为一种图像预处理技术可以显著的改善图像的质量,下面将介绍几种灰度变换的方法1.gamma变换Gamma变换是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:s=crλs=cr^{\lambda}s=crλ这个指数即为Gamma。Gamma变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。经过G

系统 2019-09-27 17:52:58 1999