python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。下面我们先简单的了解下python日期和时间数据类型及工具给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象fromdatetimeimportdatetimefromda
系统 2019-09-27 17:51:56 2174
本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下:复制代码代码如下:top-bi>cpuHistory.log或复制代码代码如下:top-bi|teecpuHistory.log这个就不解释了,不懂的朋友查询下top的帮助文档。这里要实现的是通过python调用top命令,并获得cpu的利用率信息。用过popen的朋友很快就能想到类似如下的代码(这个是
系统 2019-09-27 17:51:42 2174
前言“列表(list)与元组(tuple)两种数据类型有哪些区别”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,这道题主要考察候选人对Python基本数据结构的掌握程度,属于简单类型的送分题,那么该如何来回答才不至于丢分?相同点:都是序列类型回答它们的区别之前,先来说说两者有什么相同之处。list与tuple都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作>>>foos=
系统 2019-09-27 17:50:39 2174
前言使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下python中实现单例模式的几种常见方式和原理。一方面可以加深对python的理解,另一方面可以更加深入的了解该模式,以便实际工作中能更加灵活的使用单例设计模式。本文将介绍常见的实现单例模式的几种方式,这里暂不考虑多线程的情况。为了准备该篇博文,之前写了几篇相关的文章依次完整的介绍了相关的概念,下面会在需要的时候给出链接。装
系统 2019-09-27 17:48:26 2174
日志如果你曾经在代码中加入print()语句,在程序运行时输出某些变量的值,你就使用了记日志的方式来调试代码。记日志是一种很好的方式,可以理解程序中发生的事,以及事情发生的顺序。Python的logging模块使得你很容易创建自定义的消息记录。这些日志消息将描述程序执行何时到达日志函数调用,并列出你指定的任何变量当时的值。另一方面,缺失日志信息表明有一部分代码被跳过,从未执行。使用日志模块要启用logging模块,在程序运行时将日志信息显示在屏幕上,请将下
系统 2019-09-27 17:47:25 2174
本篇博客介绍利用python脚本实现视频分帧,并将每一帧保存到本地。主要基于opencv包来实现,在运行代码前确保opencv包已正确安装。下面是主要代码:importosimportcv2videos_src_path='/home/shao/violence_detection_code/Movies_Dataset/fights'videos_save_path='/home/shao/violence_detection_code/Movies_D
系统 2019-09-27 17:46:54 2174
一.问题描述在tcp编程中,最需要解决的就是粘包分包问题。所以,我们需要在每个数据包前面加上数据包的长度用以分割粘连的包。二.包结构的设计包的组成:包长度+数据域包长度:用4个字节存储数据域长度,数据域长度即为其所占字节数数据域:由若干个变量组成,如果是定长变量则不用加变量长度定长变量:我们人为规定,传输中的int为4字节定长变量变长变量:那就是字符串啦文字难理解,那我就画个图吧:上图的第一行是数据包的一个总体结构第二行是数据域内部的一个结构(数据域的变量
系统 2019-09-27 17:46:34 2174
因为有一个先入为主的概念:快速排序最牛。因此刚开始一听见快速排序就不敢写,认为其绝对很复杂。事实证明这种想法不能有!简单粗暴地使用递归手写快速排序:(为了面试时候能不怯场的直接手撕)#简单粗暴的快速排序#存在额外的开销存放左右#要多次遍历数组defquicksort(array):#直接递归iflen(array)<2:#递归出口returnarraypivot_index=0pivot=array[pivot_index]left_arr=[iforii
系统 2019-09-27 17:46:01 2174
一、初始递归递归函数:在一个函数里在调用这个函数本身。递归的最大深度:998正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。但是我们之前已经说过关于函数调用的问题,每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,就会造成名称空间占用太多内存的问题,于是python为了杜绝此类现象,强制的将递归层数控制在了997(只要997!你买不了吃亏,买不了上当...).拿什么来证明这个“998理论”呢?这里我们可以做一个实验:deff
系统 2019-09-27 17:45:41 2174
详解Python中LEGB和闭包及装饰器LEGBL>E>G?BL:local函数内部作用域E:enclosing函数内部与内嵌函数之间G:global全局作用域B:build-in内置作用域python闭包1.Closure:内部函数中对enclosing作用域变量的引用2.函数实质与属性函数是一个对象函数执行完成后内部变量回收函数属性函数返回值passline=60deffunc(val):ifval>=passline:print('pass')els
系统 2019-09-27 17:38:08 2174