环境:编辑工具:浏览器:有问题可以联系qq:1776376537安装xlrd安装DDT一分析1目录结构2导入包二代码importxlrdclassExcelUtil():def__init__(self,excelPath,sheetName="Sheet1"):self.data=xlrd.open_workbook(excelPath)self.table=self.data.sheet_by_name(sheetName)#获取第一行作为key值se
系统 2019-09-27 17:54:09 2159
本次我们选择的安卓游戏对象叫“单词英雄”,大家可以先下载这个游戏。游戏的界面是这样的:通过选择单词的意思进行攻击,选对了就正常攻击,选错了就象征性的攻击一下。玩了一段时间之后琢磨可以做成自动的,通过PIL识别图片里的单词和选项,然后翻译英文成中文意思,根据中文模糊匹配选择对应的选项。查找了N多资料以后开始动手,程序用到以下这些东西:PIL:PythonImagingLibrary大名鼎鼎的图片处理模块pytesser:Python下用来驱动tesserac
系统 2019-09-27 17:52:39 2159
概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c
系统 2019-09-27 17:52:39 2159
Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。例如让我们看看Djangoweb框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象:defhandle_request(request):returnHttpResponse("Hello,World")我最近遇到一个案例,需要编写几个满足下述条件的api方法:返回json响应如果是GET请求,那么返回错误码做为一个注
系统 2019-09-27 17:52:01 2159
关于声明并初始化二维列表想要快速创建一个二维列表如:5x3的二维列表[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]正确用法:#先创建一个一维列表tmp=[0,]*3result=[]foriinrange(5):#拷贝对象result.append(tmp.copy())result[0][1]=1print(result)#[[0,1,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]误用:#得到的
系统 2019-09-27 17:51:23 2159
在基础知识部分的最后一章《第十三章Python基础篇结束章》的《第13.3节图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNUGeneralPublicLicense的缩写,是GNU通用公共授权非正式的中文翻译),不适合用于商用开发。但P
系统 2019-09-27 17:50:44 2159
requests库的用法:requests是python实现的简单易用的HTTP库因为是第三方库,所以使用前需要cmd安装pip×××tallrequests安装完成后import一下,正常则说明可以开始使用了基本用法:importrequestsformbs4importBeautifulSoupresponse=requests.get('http://www.baidu.com')print(response.status_code)#打印状态码pr
系统 2019-09-27 17:50:42 2159
python初学小记使用PyCharm向世界打招呼!print(“Helloworld!”)介绍自己的基本信息的方法name=input("name:")age=int(input("age:"))#integer强转义成数字print(type(age),type(str(age)))job=input("job:")salary=input("salary:")#一.info='''-------infoof%s--------Name:%sAge:%
系统 2019-09-27 17:49:39 2159
一、往文件中写入数据往TXT文件写入的时候报错'gbk'codeccan'tencodecharacter'\xXX'inpositionXX打开文件时,增加一个选项:defwirteFile(content):path=os.getcwd()a_path=os.path.join(path,"content.txt")f=open(a_path,"w+",encoding="utf-8")f.write(content)f.close()open()中添
系统 2019-09-27 17:49:29 2159
目录logging模块利用配置加载logger方式一模板:logging.config.dictConfig(config_dict)logging模块利用配置加载loggerlogging.config模块提供了从配置加载创建logger等相关对象,并放入manager对象中进行缓存待用。所以记录下一般几种方式配置的范本模式,方便项目中copy直接修改使用。dictconfigreferences官档关于logging配置字典说明方式一模板:loggin
系统 2019-09-27 17:49:12 2159