Python - 军军小站|张军博客
Python

Python字典(Dictionary)序列化和反序列化

最近在项目中遇到把字典类型的数据保存文件,在另一个模块又把文件中的内容转换为字典的需求,在这里记录一下。字典保存成文件importpickledata=dict(key="aaa",val=22)withopen("data.txt","wb")asf:pickle.dump(data,f)文件读取为字典importpickledata={}withopen("data.txt","rb")asf:data=pickle.load(f)print(data

系统 2019-09-27 17:51:02 2126

Python

python实现连连看辅助(图像识别)

个人兴趣,用python实现连连看的辅助程序,总结实现过程及知识点。总体思路1、获取连连看程序的窗口并前置2、游戏界面截图,将每个一小图标切图,并形成由小图标组成的二维列表3、对图片的二维列表遍历,将二维列表转换成由数字组成的二维数组,图片相同的数值相同。4、遍历二维数组,找到可消除的对象,实现算法:两个图标相邻。(一条线连接)两个图标同行,同列,且中间的图标全部为空(数值为0)(一条线连接)两条线连接,转弯一次,路径上所有图标为空。(二条线连接)三条线连

系统 2019-09-27 17:50:05 2126

Python

一文了解Python并发编程的工程实现方法

上一篇文章介绍了线程的使用。然而Python中由于GlobalInterpreterLock(全局解释锁GIL)的存在,每个线程在在执行时需要获取到这个GIL,在同一时刻中只有一个线程得到解释锁的执行,Python中的线程并没有真正意义上的并发执行,多线程的执行效率也不一定比单线程的效率更高。如果要充分利用现代多核CPU的并发能力,就要使用multipleprocessing模块了。0x01multipleprocessing与使用线程的threading

系统 2019-09-27 17:47:03 2126

Python

Python 入门之 内置模块 -- 序列化模块(json模块、pickle

Python入门之内置模块--序列化模块(json模块、pickle模块)1、序列化Python中这种序列化模块有三种:​json模块:​不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串。(比如Python的一个列表[1,2,3]利用json转化成特殊的字符串,然后在编码成bytes发送给php的开发者,php的开发者就可以解码成特殊的字符串,然后在反解成原数组(列表):[1,2,3])​json序列化只支持部分Python数据结构:dict

系统 2019-09-27 17:46:39 2126

Python

python issubclass 和 isinstance函数

Pythonissubclass()函数issubclass()方法用于判断参数class是否是类型参数classinfo的子类。语法:issubclass(class,classinfo)参数class--类。classinfo--类。返回值如果class是classinfo的子类返回True,否则返回False。例子:#!/usr/bin/python#-*-coding:UTF-8-*-classA:passclassB(A):passprint(i

系统 2019-09-27 17:57:07 2125

Python

《Python机器学习基础教程》学习笔记 #2

第2章监督学习利用graphviz打开绘制的dot格式决策图出错,有两个坑需注意1、pipinstallgraphviz库还不够,还要安装graphviz软件,地址http://www.graphviz.org/download/。2、强烈建议安装地址为C盘,安装后添加软件所在文件夹(bin)地址到PATH环境。之前安装到其他盘,运行一直出错,makesuretheGraphvizexecutablesareonyoursystems’PATH,改为C盘就

系统 2019-09-27 17:57:03 2125

Python

python项目--简单名片管理系统(通熟易懂代码)

通过一周的自学python,结合老师的讲解,做出来一个简单的名片管理系统。接下来结合运行界面介绍下。第一部分:系统界面此处使用的Ubuntu系统演示一个很简单的系统,就3个功能,初学者哈,大家不要嫌弃,至少有个壳子你在往里面添加就可以,后续添加再更新。1.新建功能操作成功回自己再次回到主界面2.显示功能3.查询功能查询功能应该算是这里面相对来说最难实现的接下来可以对查询的表进行修改或者删除,或者不改变如果您需要改变,就输入,不需要就直接回车。删除这里就不演

系统 2019-09-27 17:55:21 2125

Python

Python3.6+selenium2.53.6自动化测试_数据驱动(一)

环境:编辑工具:浏览器:有问题可以联系qq:1776376537项目:本地禅道一分析1用例设计:2数据存储:3登录方法封装4用例例子二参考代码#导入包fromseleniumimportwebdriverimportunittestfrompages.login_pageimportLoginPage,lgoing_urlfromcommon.baseimportBase'''先思考下手工操作顺序(主要流程)第1个用例:输入admin,输入123456,点

系统 2019-09-27 17:54:08 2125

Python

从头实现主成分分析(PCA)--Python

主成分分析是一种常用的降维方法,多见于数据预处理阶段,其伪代码如下:输入:样本数据集D={x1,x2,x3,x4},低空间维度数d'过程:1对所有样本进行中心化(每个特征维度都减去其均值)2计算所有样本的协方差矩阵3对协方差矩阵进行特征分解4取最大的d'个特征值的对应特征向量w1,w2,w3输出:投影矩阵W*=(w1,w2,wd')下面是其代码实现:首先是产生数据,我们使用sklearn的make_blobs方法产生三类数据,每类有三个特征。数据结构是(n

系统 2019-09-27 17:53:00 2125

Python

python多线程共享变量的使用和效率方法

python多线程可以使任务得到并发执行,但是有时候在执行多次任务的时候,变量出现“意外”。importthreading,timen=0start=time.time()defb1(num):globalnn=n+numn=n-numdefb2(num):foriinrange(1000000):b1(num)t1=threading.Thread(target=b2,args=(5,))t2=threading.Thread(target=b2,arg

系统 2019-09-27 17:51:27 2125

Python

Python中typing模块与类型注解的使用方法

实例引入我们知道Python是一种动态语言,在声明一个变量时我们不需要显式地声明它的类型,例如下面的例子:a=2print('1+a=',1+a)运行结果:1+a=3这里我们首先声明了一个变量a,并将其赋值为了2,然后将最后的结果打印出来,程序输出来了正确的结果。但在这个过程中,我们没有声明它到底是什么类型。但如果这时候我们将a变成一个字符串类型,结果会是怎样的呢?改写如下:a='2'print('1+a=',1+a)运行结果:TypeError:unsu

系统 2019-09-27 17:50:53 2125

Python

python对矩阵进行转置的2种处理方法

方法一:使用常规的思路deftranspose(M):#初始化转置后的矩阵result=[]#获取转置前的行和列row,col=shape(M)#先对列进行循环foriinrange(col):#外层循环的容器item=[]#在列循环的内部进行行的循环forindexinrange(row):item.append(M[index][i])result.append(item)returnresult思路:矩阵的转置就是从行变成列,列变成行先定义一个最终存

系统 2019-09-27 17:50:28 2125

Python

Python正则表达式和re库知识点总结

正则表达式是定义搜索模式的字符序列。通常这种模式被字符串搜索算法用于字符串上的“查找”或“查找和替换”操作,或者用于输入验证。1.正则表达式的语法.表示任何单个字符[]字符集,对单个字符给出取值范围[^]非字符集,对单个字符给出排除范围*前一个字符0次或者无限次扩展+前一个字符1次或无限次扩展?前一个字符0次或1次扩展|左右表达式任意一个{m}扩展前一个字符m次{m,n}扩展前一个字符m至n次^匹配字符串开头$匹配字符串结尾()分组标记,内部只能使用|操作

系统 2019-09-27 17:49:57 2125

Python

Python多进程并发操作中进程池Pool的应用

在利用Python进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用multiprocessing中的Process动态成生多个进程,10几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,这时候进程池Pool发挥作用的时候就到了。Pool可以提供指定数量的进程,供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行

系统 2019-09-27 17:48:11 2125

Python

python实现将内容分行输出

#python版一行内容分行输出a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九""""分行输出为:abcdefghiABCDEFGHI123456789一二三四五六七八九"""print("方法一:===============")forrinrange(0,4):t=''forsinrange(0+r,len(a),4):t=t+a[s]print(t)print("方法二:===============")#=_=这个方

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