搜索到与相关的文章
Python

Python日志模块logging简介

logging分为4个模块:loggers,handlers,filters,andformatters.●loggers:提供应用程序调用的接口●handlers:把日志发送到指定的位置●filters:过滤日志信息●formatters:格式化输出日志LoggerLogger.setLevel()设置日志级别Logger.addHandler()和Logger.removeHandler()增加和删除日志处理器Logger.addFilter()和Lo

系统 2019-09-27 17:49:58 2236

Python

python最简单的自定义异常方法

异常是指程序运行时遇到了非致命错误。python中有许多预定义的异常类型,不过如果你想定义自己的异常,也是完全可以的。如下代码自定义了一个最简单的异常,并使程序抛出了该异常:classMyException(Exception):passcondition=Falseifnotcondition:raiseMyException('条件不满足,抛出自定义异常!')可以看出,自定义的异常必须继承自Exception,这样就可以无需定义__init__方法而直

系统 2019-09-27 17:49:35 2236

Python

Python shutil模块--文件拷贝与权限操作

目录基础部分shutil.copyfileobj(file1,file2):shutil.copyfile(file1,file2):其他shutil.copymode(file1,file2):shutil.copystat(file1,file2):shutil.copy(file1,file2):shutil.copy2(file1,file2):shutil.copytree(源目录,目标目录):shutil.rmtree(目标目录):shutil

系统 2019-09-27 17:49:33 2236

Python

Python程序中的进程操作-进程间数据共享

目录一、进程之间的数据共享1.1Manager模块介绍1.2Manager例子一、进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。1.1Manage

系统 2019-09-27 17:49:06 2236

Python

Python中turtle库的使用实例

Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种:画笔控制函数penup():抬起画笔;pendown():落下画笔;pensize(width):画笔宽度;pencolor(color):画笔颜色;运动控制函数forward(d)/fd(d):直行d个像素;circle(r,extent=None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;方向控制函

系统 2019-09-27 17:48:46 2236

Python

python程序 线程队列queue使用方法解析

一、线程队列queue队列:使用方法同进程的Queue一样如果必须在多个线程之间安全地交换信息时,队列在线程编程中尤其有用。重要:q.put():往队列里面放值,当参数block=Ture的时候,timeout参数将会有作用,当队列已经满了的时候,在往里面放值时,block为True程序将会等待timeout的时间,过了时间程序会报错,block如果为Flase时,程序不会等待直接报错q.get():从队列里面取值,当参数block=Ture的时候,tim

系统 2019-09-27 17:48:44 2236

Python

python设计tcp数据包协议类的例子

一.问题描述在tcp编程中,最需要解决的就是粘包分包问题。所以,我们需要在每个数据包前面加上数据包的长度用以分割粘连的包。二.包结构的设计包的组成:包长度+数据域包长度:用4个字节存储数据域长度,数据域长度即为其所占字节数数据域:由若干个变量组成,如果是定长变量则不用加变量长度定长变量:我们人为规定,传输中的int为4字节定长变量变长变量:那就是字符串啦文字难理解,那我就画个图吧:上图的第一行是数据包的一个总体结构第二行是数据域内部的一个结构(数据域的变量

系统 2019-09-27 17:46:34 2236

Python

Python的迭代器和生成器

先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个StopIteration异常,通知for语句循环结束。比如:>>>s='abc'>>>it=ite

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

编程技术

jsf自定义分页实现

在JSF中实现分页(二)前面一篇直接使用了Myfaces中的两个Component完成了一个简单的分页,这里将会介绍一种On-demandloading的方法来进行分页,仅仅在需要数据的时候加载。先来说一些题外话,为了实现这种方式的分页,公司里大约5-6个人做了半个多月的工作,扩展了dataTable,修改了dataScrollor,以及各种其他的方法,但是都不是很优雅。在上个月底的时候,在Myfaces的MailList中也针对这个问题展开了一系列的讨论

系统 2019-08-29 23:16:09 2236

编程技术

Liferay Portal学习笔记(一):安装

一、简单安装1)下载并安装JDK1.51、下载并安装WindowsPlatformJ2SE(TM)DevelopmentKit5.0Update,下载网址http://java.sun.com/j2se/1.5.0/download.jsp2、在控制面板-->系统-->高级选项-->环境变量,新增一个用户变量JAVA_HOME并指向JDK的安装目录

系统 2019-08-29 23:15:38 2236