我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情;但是由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉。为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启。以控制python自动重启的shell脚本为例:cdDesktopvimrun.sh#新建名为run的shell脚本写入(此处以名为run的Python脚本为例)#!/bin/bashwhile[1];dopytho
系统 2019-09-27 17:56:17 2190
目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在
系统 2019-09-27 17:55:32 2190
之前在写多线程与多进程的时候,因为一般情况下都是各自完成各自的任务,各个子线程或者各个子进程之前并没有太多的联系,如果需要通信的话我会使用队列或者数据库来完成,但是最近我在写一些多线程与多进程的代码时,发现如果它们需要用到共享变量的话,需要有一些注意的地方多线程之间的共享数据标准数据类型在线程间共享看以下代码#coding:utf-8importthreadingdeftest(name,data):print("inthread{}nameis{}".f
系统 2019-09-27 17:55:28 2190
面向对象编程:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。面向对象思想三大要素:封装,继承和多态。1定义使用类classStudent(object):#__init__
系统 2019-09-27 17:55:18 2190
reduce()函数也是Python内置的一个高阶函数。reduce()格式:reduce(func,seq[,init()])reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果(注:第一次为init元素,如果没有指定init则为seq的第一个元素)与下一个元素一同传入二元func函数中去执行。在reduce()函数中,init是可选的,如果指定,则作为第一次迭代的第一个元素使用,如果没有指定,就取seq中的第一个元素。re
系统 2019-09-27 17:53:19 2190
简单定义图轴:importnumpyasnpimportmatplotlib.pyplotasplt创建一个简单的matplotlib实例:fig=plt.figure()rect=fig.patch#arectangleinstancerect.set_facecolor('lightgoldenrodyellow')ax1=fig.add_axes([0.1,0.3,0.4,0.4])rect=ax1.patchrect.set_facecolor('
系统 2019-09-27 17:52:41 2190
Justnotes拿到一台干净的centos之后,初始化Python环境,一些命令和问题记录而已可以搞成脚本自动初始化,当然,用docker更好基础环境1.创建用户sudoaddusernewusersudopasswdnewuser#设置授权不需要输入密码sudo/usr/sbin/visudonewuserALL=NOPASSWD:ALL2.EPEL(FedoraExtraPackagesforEnterpriseLinuxrepository)参考文
系统 2019-09-27 17:51:15 2190
目前我们已经会使用Lock去对公共资源进行互斥访问了,也探讨了同一线程可以使用RLock去重入锁,但是尽管如此我们只不过才处理了一些程序中简单的同步现象,我们甚至还不能很合理的去解决使用Lock锁带来的死锁问题。所以我们得学会使用更深层的解决同步问题。Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。使用
系统 2019-09-27 17:50:56 2190
CSRF(CrossSiteRequestForgery,跨站域请求伪造)是一种网络的×××方式。我的理解是,比如你访问过招商银行的网站并登陆之后,你的cookie信息暂时不会失效,这时,hacker通过各种方式诱导你访问他给你提供的网站等链接,让你在同一浏览器访问hacker给你的网站时,那么他给你提供的网站里面有直接有向招商银行提交转账信息的请求,这时,这个转账请求会借用你刚刚登陆过招商银行的cookie信息,来使用的你的身份进行合法的转账。那么为了减
系统 2019-09-27 17:50:35 2190
继承继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类:复制代码代码如下:classSubClassName(ParentClass1[,ParentClass2,...]):'optionalclassdocumentationstring'class_suite实例复制代码代码如下:classParent(obj
系统 2019-09-27 17:50:10 2190