Python

Python实现的检测网站挂马程序

系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。程序测试如下:#pythoncheck_change.pyUsage:pythoncheck_change.pyupdate/home/wwwrootpythoncheck_change.pycheck/

系统 2019-09-27 17:38:00 1641

Python

python连接mysql实例分享

示例一#coding=UTF-8importsysimportMySQLdbimporttimereload(sys)sys.setdefaultencoding('utf-8')defconnectDemo():returnMySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")if__name__=='__main__':begin=time.time()conn=

系统 2019-09-27 17:37:59 1641

Python

详解Python的Django框架中的模版继承

在实际应用中,你将用Django模板系统来创建整个HTML页面。这就带来一个常见的Web开发问题:在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码?解决该问题的传统做法是使用服务器端的includes,你可以在HTML页面中使用该指令将一个网页嵌入到另一个中。事实上,Django通过刚才讲述的{%include%}支持了这种方法。但是用Django解决此类问题的首选方法是使用更加优雅的策略――模板继承。本质上来说,模板继承就是先构造

系统 2019-09-27 17:37:53 1641

Python

详解在Python程序中解析并修改XML内容的方法

需求在实际应用中,需要对xml配置文件进行实时修改,1.增加、删除某些节点2.增加,删除,修改某个节点下的某些属性3.增加,删除,修改某些节点的文本使用xml文档实现思想使用ElementTree,先将文件读入,解析成树,之后,根据路径,可以定位到树的每个节点,再对节点进行修改,最后直接将其输出实现代码#!/usr/bin/python#-*-coding=utf-8-*-#author:wklken@yeah.net#date:2012-05-25#ve

系统 2019-09-27 17:37:47 1641

Python

Python使用pygame模块编写俄罗斯方块游戏的代码实例

文章先介绍了关于俄罗斯方块游戏的几个术语。边框――由10*20个空格组成,方块就落在这里面。盒子――组成方块的其中小方块,是组成方块的基本单元。方块――从边框顶掉下的东西,游戏者可以翻转和改变位置。每个方块由4个盒子组成。形状――不同类型的方块。这里形状的名字被叫做T,S,Z,J,L,I,O。如下图所示:模版――用一个列表存放形状被翻转后的所有可能样式。全部存放在变量里,变量名字如S_SHAPE_TEMPLATEorJ_SHAPE_TEMPLATE着陆――

系统 2019-09-27 17:37:44 1641

Python

简单介绍Python的Django框架加载模版的方式

一般说来,你会把模板以文件的方式存储在文件系统中,但是你也可以使用自定义的templateloaders从其他来源加载模板。Django有两种方法加载模板django.template.loader.get_template(template_name):get_template根据给定的模板名称返回一个已编译的模板(一个Template对象)。如果模板不存在,就触发TemplateDoesNotExist的异常。django.template.loade

系统 2019-09-27 17:37:43 1641

Python

Python 性能优化技巧总结

1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟踪cpython的扩展;2.用C来解决费时的处理,c是效率的代名词,也是python用来解决效率问题的主要途径,甚至有时候我都觉得python是c的完美搭档。常用的是Cython,直接把py代码c化然后又能像使用py包一样使用,其次是ctypes,效

系统 2019-09-27 17:37:43 1641

Python

在Python 3中实现类型检查器的简单方法

示例函数为了开发类型检查器,我们需要一个简单的函数对其进行实验。欧几里得算法就是一个完美的例子:defgcd(a,b):'''Returnthegreatestcommondivisorofaandb.'''a=abs(a)b=abs(b)ifa

系统 2019-09-27 17:37:39 1641

Python

【Python 100天从新手到大师】 Python惯例

Python惯例“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”。由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码。下面我们总结了一些在Python开发中的惯用的代码。让代码既可以被导入又可以被执行。if__name__=='__main__':用下面的方式判断逻辑“真”或“假”。ifx:ifnot

系统 2019-09-27 17:57:29 1640

Python

python中property属性的介绍及其应用详解

Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回。使用property修饰的实例方法被调用时,可以把它当做实例属性一样property的用法1――装饰器方式在类的实例方法上应用@property装饰器classTest:def__init__(self):self.__num=100@propertydefnum(self):print("--get--")returnself.__num@num

系统 2019-09-27 17:57:10 1640

Python

Python类与方法的私有化

1.创建自己的类学习面向对象的第一步,就是创建一个类。因为类是面向对象的基石。Python类和其他编程语言(Java、C#等)的类差不多,也需要使用class关键字。下面通过一个实际的例子来看一下Python类是如何创建的。本例会创建一个类,以及利用这个类创建两个对象,并调用其中的方法。程序运行结果如下图所示。从上面的代码我们可以了解到Python类的如下知识点。Python类使用class关键字定义,类名直接跟在class关键字的后面。类也是一个代码块,

系统 2019-09-27 17:57:05 1640

Python

Python 3.8 新功能全解

Python3.8是Python语言的最新版本,它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。现在Python3.8已经进入官方的beta阶段,这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。Python3.8还引入了许多性能改进。总的来说,我们即将拥有一个更快、更精确、更一致和更现代的Python。下面是Python3.8的新功能和最重要的改变。1、赋值表达式Python3.8最明显的变化就是赋值表

系统 2019-09-27 17:57:03 1640

Python

Mac在python3环境下安装virtualwrapper遇到的问题

前言我在使用mac安装virtualwrapper的时候遇到了问题,搞了好长时间,才弄好,在这里总结一下分享出来,供遇到相同的问题的朋友使用,少走些弯路。问题说明:Mac默认系统的python2,而我自己用的是brew安装的python3下面是我安装过程中出现的问题1.安装virtualwrapper打开终端,输入如下的命令pip3installvirtualenvpip3installvirtualenvwrapper2.在配置文件~/.bash_pro

系统 2019-09-27 17:56:58 1640

Python

Python爬虫入门【11】:半次元COS图爬取

半次元COS图爬取-写在前面今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站https://bcy.net/打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了cosplay,这种网站必然会有这个的存在啊,于是乎,我准备好我的大爬虫了。把上面的链接打开之后,被我发现了吧,就知道我的第八感不错滴。接下来就是找入口,一定要找到图片链接的入口才可以做下面的操作这个页面不断往下拖拽,页面会一直加载,当时当你拖拽一会,就停下来了,就是这

系统 2019-09-27 17:56:54 1640

Python

Python 从subprocess运行的子进程中实时获取输出的例子

有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的。在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用。同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度。对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序。下面,我们就通过一个例子来说明这个功

系统 2019-09-27 17:56:49 1640