OS模块的常见用法os.remove()删除文件os.rename()重命名文件os.walk()生成目录树下的所有文件名os.chdir()改变目录os.mkdir/mkdirs创建目录/多层目录os.rmdir/removedirs删除目录/多层目录os.listdir()列出指定目录的文件os.getcwd()取得当前工作目录os.chmod()改变目录权限os.path.basename()去掉目录路径,返回文件名os.path.dirname()
系统 2019-09-27 17:56:42 1961
一、进程和线程进程假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源。是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让程序B暂停,然后让程序A继续执行?当然没问题,但这里有一个关键词:切换既然是切换,那么这就涉及到了状态的保存,状态的恢复,加上程序A与程序B所需要的系统资源(内存,硬盘,键盘等等)是不一样的。自然
系统 2019-09-27 17:55:24 1961
python连接Mysql数据库:Python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接MySQL数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响。因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目的。数据库连接池python的数据库连接池包DBUtils:DBUtils是一套Python数据库连接池包,并允许对非线程安全的
系统 2019-09-27 17:55:24 1961
代码框架-游戏初始化-游戏循环部分主要包括以下部分:-(1)按一定频率发射子弹和生成敌机;(2)移动子弹和移动敌机;(3)敌机与玩家飞机相撞处理方法;(4)敌机和玩家飞机子弹击中处理方法;(5)画图(6)获取、处理键盘事件;(7)处理退出游戏。程序及其注释#导入必备模块importpygamefromsysimportexitfrompygame.localsimport*importrandom#设置游戏屏幕大小SCREEN_WIDTH=480SCREE
系统 2019-09-27 17:55:21 1961
主要讲如何在公司利用Python搞API自动化。1.分层设计思路dataPool:数据池层,里面有我们需要的各种数据,包括一些公共数据等config:基础配置tools:工具层common:公共方法层runCase:需要运行的测试用例noRunCase:不需要运行的测试用例testReport:这里存放生成的测试报告2.编写common:公共方法层2.1getTimestamp.py我们在common文件夹下新建一个getTimestamp.py。因为业务
系统 2019-09-27 17:53:46 1961
用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示:复制代码代码如下:importurllib2url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1"up=urllib2.urlopen(url)#打开目标页面,存入变量upcont=up.read()#从up中读入该HTML文件key1='ke
系统 2019-09-27 17:53:24 1961
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2库的使用细节。1Proxy的设置urllib2默认会使用环境变量http_proxy来设置HTTPProxy。如果想在程序中明确控制Proxy,而不受环境变量的影响,可以使用下面的方式复制代码代码如下:importurllib2enable_proxy=Trueproxy_handler=url
系统 2019-09-27 17:53:21 1961
在前面的文章《python小欢喜(六)动画(1)pygame的安装与初步使用》中介绍了如何安装pygame。接下来用pygame开发一个小游戏。游戏界面如下:在游戏窗口中有一个运动的足球,碰到边界或挡板会反弹,玩家通过鼠标的移动,可以拖动挡板左右移动。足球如果碰到窗口下边界,则玩家的生命值减1,如果足球被挡板弹回,则得分数加1。python代码如下:ballGame.py该代码改编自BrysonPayne《TeachYourKidstoCode》第10章的
系统 2019-09-27 17:53:04 1961
1Python开发环境搭建1.1Python版本介绍Python目前官方运营维护的版本分为2.x版本和3.x版本。2.x版本相对来说,稳定性更高,兼容的主流第三方扩展库更多,商用开发首选;3.x架构设计更完善,性能更好,一些发展前端的第三方扩展库以3.x版本首选兼容和维护。因为2.x版本和3.x版本存在架构上的差异,所以互不兼容,在开发选择版本时需要注意。目前2.x版本的最新版本是2.7.14;3.x版本的最新版本是3.6.3。1.2Python下载与安装
系统 2019-09-27 17:52:53 1961
Python适配器模式,代码,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s
系统 2019-09-27 17:52:07 1961
for我们先来看一下for语句的格式:foriinrange(0,5):print(i)其中range相当于一个迭代器。我们可以这么尝试:print(list(range(0,5)))输出很简单了,就是01234当然了这里的迭代器可以用自己的list比如:cgg=["cgg","cgg1","cgg2"]foriincgg:print(i)输出结果就是三个字符串以此输出。while循环语句当然少不了while了先来看看while的格式:whilecgg<1
系统 2019-09-27 17:51:52 1961
功能:为已存在的函数或对象添加额外的功能原则:不改变源代码为其添加功能不改变函数的调用方式方法:装饰器=高阶函数+嵌套函数(高阶函数:一个函数可以作为参数传递给另外一个函数,或者,一个函数的返回值是一个函数,即函数的入口地址)函数名作为参数传递给装饰器(@decorator_name)装饰函数返回函数名(函数地址)注意:默认情况下,装饰器会修改名字和文档说明,但是可以使用functools中的@wraps()解决。@wraps接受一个函数来进行装饰,并加入
系统 2019-09-27 17:51:46 1961
如下所示:importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')fh.setLevel(logging.DEBUG)#再创建一个handler,用于输出到控制台ch=logging.StreamHandler()ch.set
系统 2019-09-27 17:51:25 1961
感觉这种理解有问题,举个例子来说。classDog(object):name='dog'definit(self):self.age=18d1=Dog()d2=Dog()这里有两个实例d1,d2吧。d1.name#输出dogd2.name#输出dogd1.name='abc'd1.name#输出abcd2.name#输出dogDog.name#输出dog原因是d1.name输出dog不是因为这个实例共享了类属性,而是因为这个实例没有dog属性,所以pyth
系统 2019-09-27 17:51:12 1961
注释PIL是python的一个图像处理库,功能非常强大,可以实现图片的格式转换、旋转、裁剪、改变尺寸、像素处理、图片合并等等操作。PIL已经更名为pillow所以在终端输入pip3installpil会报错,而应该输入pip3installpillow进行安装。源码fromPILimportImagedefImage_PreProcessing():#待处理图片存储路径im=Image.open('UnprocessImage.jpeg')#Resize图
系统 2019-09-27 17:50:56 1961