设计模式的重要性,不再赘述,分方法和类型逐一记录,以备忘。一、单例模式单例模式,顾名思义,python中的某个类有且仅有一个对象(实例);1.应用场景:某个实例必须保证全局唯一性,如读取某些配置文件的实例,需要确保在任意地方都是相同配置值;2.实现方法:使用python中的基类object中__new__();3.代码:classsingleton(object):def__new__(cls,*args,**kw):ifnothasattr(cls,'_
系统 2019-09-27 17:52:35 1895
随着脚本复杂程度增加,配置文件成了必不可少。之前一直使用json文件,当作配置文件。比较之下,configparser库更加适合。下述文件为一个简单的configparser库的配置文件config.ini[testdb]db_port=3306db_host=127.0.0.1db_user=rootdb_passwd=123456#remark[zhfx]target="zy-zhfx"targets=["zy-zhfx"]num=3上述方括号内的[]
系统 2019-09-27 17:52:13 1895
作为eclipse的忠实粉丝,我自然乐意用eclipse来编写。于是捣鼓了一小会儿就搞好了。但是我运行的第一个程序出现了一个很奇怪的问题:SyntaxError:(unicodeerror)‘utf-8’codeccan’tdecodebyte0xceinposition16:invalidcontinuationbyte我隐约的看到了utf-8,知道了肯定是编码的问题,可是我寻思我没有写汉字呀原来是自动生成的日期中有中文。删掉就好了。但是如果我们真的需要
系统 2019-09-27 17:52:01 1895
工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。一、C++实现Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。为了跨平台,我用boost库实现,具体如下。服务端代码:复制代码代码
系统 2019-09-27 17:51:43 1895
本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没找到答案,最后没办法,看它的文档,用自己的方法实现了。方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。以下是代码:复制代码代码如下:#!/usr/bin/python'''File:screenCenter.pywAuthor:MikeE-Mail:Mike_Zhang@live.
系统 2019-09-27 17:51:41 1895
点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标摘要:分享个Python神工具。长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。下面就来给大家介绍一款Python编写的神工具,可以一键分析你的上
系统 2019-09-27 17:51:41 1895
简介在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏。从而达到一种“有图有真相”的效果。截图方法方法1save_screenshot()该方法直接保存当前屏幕截图到当前脚本所在文件位置。driver.save_screenshot('login.png')查看方法1源码:方法2get_screenshot_as_file(self,filename)将截图保留到指定文件路径
系统 2019-09-27 17:51:40 1895
将test01.csv中的张三语文成绩替换成100,且不改变文件其他内容新建一个test02.csv的空文件代码实现如下:importoswithopen("./test01.csv",mode="r",encoding="utf-8")ast1,open("./test02.csv",mode="w",encoding="utf-8")ast2:forlineint1:#文件也是可以迭代的一行行拿出来替换写入新文件中,节省内存if"语文"inline:l
系统 2019-09-27 17:51:18 1895
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前复制代码代码如下:python-mpdbmyscript.py2.在Python交互环境中启用调试复制代码代码如下:>>>importpdb>>>importmymodule>>>pdb.run(‘mymodule.
系统 2019-09-27 17:51:04 1895
还是那个题目(题目和流程见java版本),感觉光用java写一点新意也没有,恰巧刚学习了python,何不拿来一用,呵呵:服务器端:importSocketServer,timeclassMyServer(SocketServer.BaseRequestHandler):userInfo={'yangsq':'yangsq','hudeyong':'hudeyong','mudan':'mudan'}defhandle(self):print'Connec
系统 2019-09-27 17:50:40 1895