给密码加密是什么:用户注册的密码一般网站管理人员会利用md5方法加密,这种加密方法的好处是它是单向加密的,也就是说,你只有在提前知道某一串密码对应的md5加密码,才能反推出密码是多少,虽然有极小的几率可能造成两个密码加密之后的值相等(这种现象称为碰撞),不过基本上不用担心,因为概率是极低的。在常用的hashlib模块里还有sha1()等方法,它的本质和md5是一致的,只是产生的结果是160bit字节,通常用一个40位的16进制字符串表示。而md5是最常见的
系统 2019-09-27 17:52:27 2188
本篇文章介绍如何使用xlrd来读取Excel表格中的内容,xlrd是第三方库,所以在使用前我们需要安装xlrd。另外我们一般会使用xlwt来写Excel,所以下一篇文章我们会来介绍如何使用xlwt来写Excel。xlrd下载:xlrd0.8.0安装xlrd安装xlrd,只需运行setup即可,另外你也可以直接解压缩到你的project中,也可以直接用xlrd的API获取Excel,这里称之为workbook复制代码代码如下:open_workbook(fi
系统 2019-09-27 17:51:03 2188
Python的虚拟环境极大地方便了人们的生活。本指南先介绍虚拟环境的基础知识以及使用方法,然后再深入介绍虚拟环境背后的工作原理。注意:本指南在macOSMojave系统上使用最新版本的Python3.7.x。1.为什么使用虚拟环境?虚拟环境为一系列潜在问题提供简单的解决方案,尤其是在以下几个方面:允许不同的项目使用不同版本的程序包,从而解决依赖性问题。例如,可以将ProjectAv2.7用于ProjectX,并将PackageAv1.3用于ProjectY
系统 2019-09-27 17:51:02 2188
蟒蛇通过硒爬取数据是很多突破封锁的有效途径。但在使用硒中会遇到很多问题,本文就通过一问一答的形式来通熟易懂的普及如何通过硒执行JavaScript的程序,进而获取动态执行后的网页。蟒蛇爬虫编程:用硒执行JavaScript的出错了,该咋改?问题:小王开始学习Python的爬虫编程了,仿佛整个互联网的数据都快被他纳入囊中了。今天,他又试图完成一个高难度动作,他想让硒中抓取到以下HTML后,并自动执行JS脚本,模仿鼠标自动执行一个点击动作。但令他很失望的是,居
系统 2019-09-27 17:50:47 2188
自动化一直是测试圈中的热聊,也是大家追求的技术方向。在测试中,往往回归测试也是测试人员的“痛点”。对于迭代慢、变更少的功能,就能用上自动化来替代人工回归,减轻工作量。问题在分享环境搭建之前,先抛出我的一个疑问吧。app启用时,分不同的场景:1.首次安装启用,有欢迎页;2.非首次启用,直接进入到登录页;3.配置了推荐展示时,启用app,会先展示推荐内容,才进入到登录页。不同场景对应的activity都是不同的,我目前处理办法是,写了个输入函数,加了个if判断
系统 2019-09-27 17:49:53 2188
先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne
系统 2019-09-27 17:48:40 2188
今天给喜欢看电影的同学推荐一款Python制作的搜索电影片源的工具。经常在网上搜索片源的同学应该知道,各大片源网站广告不断,有些网站,点一下查询就弹出广告,关掉广告后再点查询,片源信息才显示正常。今天这款工具搜索是基于Python的GUI库PyQt5开发的。下载项目我们命令行下用git命令先把项目从github上克隆下来。gitclonehttps://github.com/lt94/MovieHeavens.git如果没有安装git的话也可以直接下载下来
系统 2019-09-27 17:48:39 2188
安装很简单复制代码代码如下:pipinstallpsutil官网地址为:https://pythonhosted.org/psutil/(文档上有详细的api)github地址为:https://github.com/giampaolo/psutil/psutil比较好的地方,一个是跨平台,不需要切换平台的时候在重新开放了,另外一个好处的工具集中CPU,memory,disks,network,这些信息都可以获得到。可以用来做系统监控,性能分析,进程管理。
系统 2019-09-27 17:48:35 2188
详解Python序列化Serialize和反序列化Deserialize序列化(serialization)序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。序列化和反序列化的目的1、以某种存储形式使自定义对象持久化;2、将对象从一个地方传递到另一个地方。3、使程序更具维护性序列化由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象
系统 2019-09-27 17:48:16 2188
第一招:蛇打七寸:定位瓶颈首先,第一步是定位瓶颈。举个简单的栗子,一个函数可以从1秒优化到到0.9秒,另一个函数可以从1分钟优化到30秒,如果要花的代价相同,而且时间限制只能搞定一个,搞哪个?根据短板原理,当然选第二个啦。一个有经验的程序员在这里一定会迟疑一下,等等?函数?这么说,还要考虑调用次数?如果第一个函数在整个程序中需要被调用100000次,第二个函数在整个程序中被调用1次,这个就不一定了。举这个栗子,是想说明,程序的瓶颈有的时候不一定一眼能看出来
系统 2019-09-27 17:48:04 2188