属性搜索优先级和descriptor#########################定义#########################数据描述符classDataDesc(object):def__init__(self,*args,**kwargs):passdef__get__(self,instance,cls):print(instanceisNone)return'DataDesc'def__set__(self,instance,valu
系统 2019-09-27 17:50:41 2407
本文主要利用python的相关模块进行批量ping,测试IP连通性。下面看具体代码(python3):'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#!/usr/bin/envpython#-*-coding:utf-8-*-importreimportsubprocessfromioimportStringIOimportmultipr
系统 2019-09-27 17:49:35 2407
urllib库是python内置的http请求库,包含四个模块:函数说明urllib.request请求模块urllib.error异常处理模块urllib.parseURL解析模块urllib.robotparserrobots.txt模块robots.txt是Robots协议(网络爬虫排除协议),是互联网界通行的道德模范,基于以下原则:搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权网站有义务保护其使用者的个人信息和隐私不被侵犯爬取白度网
系统 2019-09-27 17:48:19 2407
例子是输出九九乘法表如果按照如下程序写:#输出九九乘法表foriinrange(10):forjinrange(1,i+1):print("{}*{}={:2}".format(j,i,i*j))print('')就会出现下面的输出:这并不是我们想要的形式。print()会自动换行。python3中end属性默认为换行符\n,此时将end属性改为‘',就不会自动换行了。只需要将print("{}*{}={:2}".format(j,i,i*j))改为pri
系统 2019-09-27 17:48:03 2407
在读取dict的key和value时,如果key不存在,就会触发KeyError错误,如:t={'a':'1','b':'2','c':'3',}print(t['d'])就会出现:KeyError:'d'第一种解决方法首先测试key是否存在,然后才进行下一步操作,如:t={'a':'1','b':'2','c':'3',}if'd'int:print(t['d'])else:print('notexist')第二种解决方法利用dict内置的get(key
系统 2019-09-27 17:37:43 2407
用法本脚本用于批量扫描端口1.在同目录下创建输入文件,属性inputFile为输入文件名2.属性th为线程数3.属性port为探测的目标端口4.属性arg为默认的命令不推荐扫描全端口,速度非常慢.脚本中有常见端口,可直接使用默认命令下端口对应服务可能存在不准确的情况,可加-sV对版本进行详细探测,或对本脚本的输出使用此脚本进行专门的探测代码#依赖python-nmap,openpyxl包importnmapimportopenpyxlimportIPyfr
系统 2019-09-27 17:57:13 2406
fromflaskimportFlask,request#如果没有安装flask,则需要先安装。安装步骤:pipinstallflask,若显示错误,请重装Python时勾选添加环境变量。app=Flask(__name__)#这里可以随意起名字,也可以是'app_1'@app.route('/')defhello_world():name=request.args.get('name','None')#若空提交,args.get返回'None'#prin
系统 2019-09-27 17:52:30 2406
首先先获取access_token,并保存与全局之中deftoken(requset):url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s'%(Config.AppID,Config.AppSecret)result=urllib2.urlopen(url).read()Config.access_token=json.lo
系统 2019-09-27 17:51:23 2406
以下是Python文档中对于迭代器类型的描述Python有一个在容器上进行迭代的概念。其实现需要两个方法来支持;这让用户自己定义的类也可以支持迭代。序列类型都支持迭代方法。容器对象需要提供一个方法来提供对于迭代的支持:container.__iter__():这个方法返回一个迭代器对象。这个对象必须支持后面所描述的迭代器协议。如果一个容器要支持不同类型的迭代,则可以提供额外的方法来专门为这些迭代类型请求相应的迭代器。(对象支持多种迭代形式的一个例子就是树数
系统 2019-09-27 17:48:12 2406
SNS什么的我是一直无爱的,这次蛋疼写了个登录开心网(kaixin001)并向所有好友发送站内消息的脚本。开心网在登录的时候做了一些处理,并不传原始密码,从js分析到的结果是:登录时会生成一个随机的key,然后用这个key和原始密码进行xxtea加密,把加密后的结果再进行sha1加密。之后post这个key以及加密后的密码进行登录验证。以下是很简陋的脚本内容:#coding:utf-8"""开心网操作脚本Author:piglei2007@gmail.co
系统 2019-09-27 17:47:41 2406
本文汇总了Python列表list一些常用的对象方法,可供初学者参考或查询,具体如下:1.list.append(x)把元素x添加到列表的结尾,相当于a[len(a):]=[x],代码如下:>>>a=[1,2,3,4,5]>>>a[1,2,3,4,5]>>>a.append(-2)>>>a[1,2,3,4,5,-2]2.list.extend(L)将一个列表中的所有元素都添加到另一个列表中,相当于a[len(a):]=L,代码如下:>>>a[1,2,3,4
系统 2019-09-27 17:46:59 2406
Ubuntu18.04下使用pyenv安装python报错:BUILDFAILED(Ubuntu18.04usingpython-build20180424)解决方案:执行如下命令:sudoapt-getinstall-ymakebuild-essentiallibssl-devzlib1g-devlibbz2-devlibreadline-devlibsqlite3-devwgetcurlllvmlibncurses5-devlibncursesw5-d
系统 2019-09-27 17:46:45 2406
Python入门之内置模块--序列化模块(json模块、pickle模块)1、序列化Python中这种序列化模块有三种:json模块:不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串。(比如Python的一个列表[1,2,3]利用json转化成特殊的字符串,然后在编码成bytes发送给php的开发者,php的开发者就可以解码成特殊的字符串,然后在反解成原数组(列表):[1,2,3])json序列化只支持部分Python数据结构:dict
系统 2019-09-27 17:46:39 2406
利用flask自带的werkzeug模块实现#监控脚本#首先需要pipinstallflask#pymonitor.pydefrun_with_reloader(main_func,args=(),kwargs=None,extra_files=None,interval=1,reloader_type='auto'):"""Runthegivenfunctioninanindependentpythoninterpreter."""importosimp
系统 2019-09-27 17:57:14 2405
[导读]本文重点讲述for语句和while语句。for语句属于遍历循环,while语句属于当型循环。除了两个循环语句外,还介绍了break、continue与pass三个用于控制循环结构中的程序流向的语句。在此基础之上,也介绍了列表推导式,这是一种特殊的循环语句。循环语句又称为重复结构,用于反复执行某一操作。面对大数量级的重复运算,即使借助计算机,重复编写代码也是费时的,这时就需要借助循环语句。使用循环语句一般要用到条件判断,根据判断式的返回值决定是否执行
系统 2019-09-27 17:55:47 2405