分类 Python 下的文章

Jinja2 笔记

大部分摘自网上,方便平时查阅【更新ing…】

介绍

Jinja2:Jinja是日本寺庙的意思,并且寺庙的英文是temple和模板的英文template的发音类似。Jinja2是默认的仿Django模板的一个模板引擎,由Flask的作者开发。它速度快,被广泛使用,并且提供了可选的沙箱模板来保证执行环境的安全,它有以下优点:

  • 让前端开发者和后端开发者工作分离。
  • 减少Flask项目代码的耦合性,页面逻辑放在模板中,业务逻辑放在视图函数中,将页面逻辑和业务逻辑解耦有利于代码的维护。
  • 提供了控制语句、继承等高级功能,减少开发的复杂度。

模版

  • {{ ... }}:装载一个变量,模板渲染的时候,会使用传进来的同名参数这个变量代表的值替换掉。
  • {% ... %}:装载一个控制语句。
  • {# ... #}:装载一个注释,模板渲染的时候会忽视这中间的值。

变量

在模板中添加变量,可以使用(set)语句。

with语句来创建一个内部的作用域,将set语句放在其中,这样创建的变量只在with代码块中才有效

if语句

for语句

遍历字典

Jinja2中for循环内置常量

loop.index 当前迭代的索引(从1开始)
loop.index0 当前迭代的索引(从0开始)
loop.first 是否是第一次迭代,返回True\/False
loop.last 是否是最后一次迭代,返回True\/False
loop.length 序列的长度

 注意:不可以使用continuebreak表达式来控制循环的执行

阅读剩余部分 –

Hduoj用户AC题数统计爬虫

趁着前几天出去比赛的空余时间瞎写完了

一向写python都是现写现查库怎么用

写这个主要是为了班里统计方便 ,但现在应该用不上了2333

写的挺垃圾,也是第一次搞这个,因为库太好用了感觉自己写的也没啥水平哈哈

其中主要点是判断指定日期的做题AC数

用了下用户实时的提交页面

1.爬下直到指定日期最后所有做题情况

2.判断时间是否符合,顺便学习了下datetime

  •    因为日期是从前往后排所以 大于当前日期的跳过,直到遇见最后日期跳出循环
  •    需要注意的就是如果指定日期加之前这个用户没有答题过 会造成死循环 所以判断下当前是否为最后一页 因为get参数没有页数所以就判断first是否重复就ok

3.判断是否ac

4.丢到dict

 

分享一下渣渣代码

 

 

xlrd基本操作并配合matplotlib绘图笔记

一个简单的小例子快速了解如何利用xlrd读取excel并借助plt绘图

//之前代码有误,导致上图显示女生数量与男生一样,代码已改正

output:

 

 

 

Pandas基本操作笔记

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

output:

 

Matplotlib基本图形笔记

 

matplotlib基本绘图笔记

matplotlib基本绘图笔记,跟我一起来绘制一个丑陋的三角函数图吧!

 

 

numpy常用操作笔记

output:

 

Mitmproxy使用教程for mac

作为开发者,测试方都需要经常对HTTP请求做分析,现在burpsuit,fiddler也为主流.可是一些场合并不需要如此全面的工具去支撑,快捷便于拓展可能又成为人们的另一个追求点.

0x01 介绍


An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.

简单说该工具正如其名MITM(man-in-the-middle)再加个proxy –中间人代理软件,可以用来拦截,修改,保存HTTP/HTTPS请求。当然主要以命令行形式呈现,虽然现在已经有mitmweb辅助出现,不过官网称其暂时为beta阶段,一部分功能暂未完善。

官网地址:https://mitmproxy.org

阅读剩余部分 –

S2-032 远程命令执行 (POC@Tangscan)

前段时间很火的S2-032 远程命令执行

 

libmproxy

Request:

 


 

Mitmproxy项目主页:http://mitmproxy.org/

Github:https://github.com/mitmproxy/mitmproxy