用url_for构造URL,他接受函数名作为第一个参数,也接受对应URL规则的变量部分的命名参数,未知的变量部分会添加到URL末尾作为查询参数。构建URL而不选择直接在代码中拼URL的原因有两点:1)在未来有更改的时候只需要一次性修改URL,而不用到处替换;2)URL构建会转义特殊字符和Unicode数据,这些工作不需要我们自己处理。下面是个例子:fromflaskimportFlask,url_forapp=Flask(__name__)@app.rou
系统 2019-09-27 17:57:18 2305
冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:>>>f_set=frozenset("qiwsir")#看这个名字就知道了frozen,冻结的set>>>f_setfrozenset(['q','i','s','r','w'])>>>f_set.add("python")#报错Traceback(mostrecentcalllast):File"",line1,in
系统 2019-09-27 17:56:34 2305
经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结。Python中扫描目录有两种方法:os.listdir和os.walk。一、os.listdir方法os.listdir()方法用于返回指定的目录下包含的文件或子目录的名字的列表。这个列表以字母顺序。其得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归。它也不包括'.'和'..'即使它在目录中。语法格式如下:os.listdir(path)实例代码
系统 2019-09-27 17:56:26 2305
简介程序每次执行时,操作系统都会创建一个新进程来运行程序指令。进程中可调用os.fork,要求操作系统新建一个子进程.[Windowsc系统中,os模块没有os.fork函数]。每个进程都有一个不重复的进程ID号。或称pid,它对进程进行标识。子进程与父进程完全相同,子进程从父进程继承了多个值的拷贝。如全局变量和环境变量。fork后,子进程接收返回值0,而父进程接收子进程的pid作为返回值os.fork()Forkachildprocess.Return0
系统 2019-09-27 17:55:42 2305
我们通过python-nmap实现一个高效的端口扫描工具,与定时作业crontab及邮件告警结合,可以很好的帮助我们及时发现异常开放的高危端口。当然,该工具也可以作为业务服务端口的可用性探测,例如扫描192.168.209.121-125网段Web服务端口80s是否处于open状态。我们这里所采用的scan方法arguments参数指定为-v-PE-p+端口,-v表示启用细节模式,可以返回非up状态主机清单;-PE表示采用TCP同步扫描(TCPSYN)方式
系统 2019-09-27 17:55:34 2305
周末闲来无事,看到隔壁家的老王在和隔壁家的媳妇玩24点,就进屋看了看。发现老王是真不行啊,那不行,这也不行。就连个24点都玩不过他媳妇,给他媳妇气的,啥都不能满足,这不能,那也不能。我坐下来和他媳妇玩了两把,那都是无出其右,把把赢!我要走的时候,他媳妇还挽留我多玩几把,有意思。为了能让老王在他媳妇面前抬起头来,我决定帮他一把……就用python写了个算24点的玩意,老王对我感激涕零。什么是24点我们先来约定下老王和他媳妇玩的24点规则:给定4个任意数字(0
系统 2019-09-27 17:55:06 2305
原文链接:https://www.cnblogs.com/paranoia/p/6178665.html第一种方法:使用自带函数实现。在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。d={'name':{},'age':{},'sex':{}}printd.has_key('name')第二种方法:使用in方法#生成一个字典d={'name':{},'age':{},'sex':{}}#打印返回值,其中d.keys
系统 2019-09-27 17:54:20 2305
Python序列化的概念很简单。内存里面有一个数据结构,你希望将它保存下来,重用,或者发送给其他人。你会怎么做?这取决于你想要怎么保存,怎么重用,发送给谁。很多游戏允许你在退出的时候保存进度,然后你再次启动的时候回到上次退出的地方。(实际上,很多非游戏程序也会这么干)在这种情况下,一个捕获了当前进度的数据结构需要在你退出的时候保存到硬盘上,接着在你重新启动的时候从硬盘上加载进来。Python标准库提供pickle和cPickle模块。cPickle是用C编
系统 2019-09-27 17:53:40 2305
在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据。Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志。原理通过包名得到对应的进程ID(可能多个),然后使用adblogcat过滤进程ID即可得到对应程序的日志。源码复制代码代码如下:#!/usr/bin/envpython#coding:utf-8#Thisscriptisaimedtog
系统 2019-09-27 17:52:59 2305
python中判断一个对象是否为函数两种方式:使用hasattr,通过验证有没有__call__函数进行判断deftest():print"hello"printhasattr(test,"__call__")通过使用callable进行判断printcallable(test)另外:查看内置函数都有哪些可以使用如下方式printglobals()["__builtins__"].__dict__输出:{‘ArithmeticError’:Arithmet
系统 2019-09-27 17:48:41 2305