基本使用#设置cookie值@app.route('/set_cookie')defset_cookie():response=make_response("set_cookie")response.set_cookie("name","zhangsan")response.set_cookie("age","13",10)#10秒有效期returnresponse#获取cookie@app.route('/get_cookie')defget_cooki
系统 2019-09-27 17:49:19 1820
python中判断一个对象是否为函数两种方式:使用hasattr,通过验证有没有__call__函数进行判断deftest():print"hello"printhasattr(test,"__call__")通过使用callable进行判断printcallable(test)另外:查看内置函数都有哪些可以使用如下方式printglobals()["__builtins__"].__dict__输出:{‘ArithmeticError’:Arithmet
系统 2019-09-27 17:48:41 1820
编码python3.0以上的版本,默认的源文件都是以UTF-8编码,所有的字符串都是unicode字符串,当然也可以为源文件指定不同的编码方式;编码实例:#随机取一个变量str="xiaose"#进行utf-8编码str1=str.encode("utf-8")#将其打印出来print(str1)#结果为:b'xiaose'解码实例:1#将上述结果进行解码2str2=str1.decode("utf-8")3print(str2)4#结果为:xiaose注
系统 2019-09-27 17:47:56 1820
描述:将一个视频流按帧数截取大量的图片用途:AI的数据集制作,得到大量的图片,之后将其打标签更改的地方1.default--间隔的帧数2.input/output--输入视频的路径、存放截取图片的路径(将路径放入后面的‘’中即可)前面加r可表示绝对路径eg:1args=parser.parse_args(['--input',r'F:\data_video\IMG_4395.MOV','--output',r'F:data_rgb_pic\7video']
系统 2019-09-27 17:47:26 1820
findall函数:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意:match和search是匹配一次findall匹配所有,match和search的区别也很大,可以自行网上查找!这里主要需要讨论的是其返回值的展现方式,即findall函数根据正则表达式的不同所返回的结果包含的不同信息!主要包含三种情况:1.当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数
系统 2019-09-27 17:47:25 1820
一.运行效果先说两句,之前我在网上找的相关文章标题上写的是处理多连接,尼玛,全是假的。网上那些,根本不能异步处理多连接,不能主动给客户端发消息。在服务端控制台输入1,查看在线人数。给指定客户端发送消息。二.开发思路以下说的是服务端开发思路,客户端比较简单就不说了。首先,需要明白的是socket的accept和recv这两个方法是阻塞线程的。这就意味着我们需要新开线程来处理这两个方法。具体的程序流程大概是这样的:1.新开一个线程用于接收新的连接(socket
系统 2019-09-27 17:46:27 1820
Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于重载了括号运算符。classg_dpm(object):def__init__(self,g):self.g=gdef__call__(self,t):return(self.g*t**2)/2计算地球场景的时候,我们就可以令e_dpm=g_dpm(9.8),s=e_dpm(t)。classAnima
系统 2019-09-27 17:45:33 1820
在Python整型对象所存储的位置是不同的,有一些是一直存储在某个存储里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:a=5b=5aisb#Truea=500b=500aisb#False由上面的代码可知,整型5是一直存在的,而整型500不是一直存在的.那么有哪些整数是一直存储的呢?a,b,c=0,0,0whileaisb:i+=1a,b=int(str(i)),int(str(i))else:print(i)#打印257由上所知,
系统 2019-09-27 17:38:42 1820
对于一个net开发这爬虫真真的以前没有写过。这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSoup。python版本:python3.6,IDE:pycharm。其实就几行代码,但希望没有开发基础的人也能一下子看明白,所以大神请绕行。第三方库首先安装我是用的pycharm所以另为的脚本安装我这就不介绍了。如上图打开默认设置选择ProjectInterprect
系统 2019-09-27 17:38:40 1820
《Python从小白到大牛》纸质图书于2018年10月上市,为了答谢广大学员对智捷课堂以及关老师的支持,现购买51CTO学院(【Python数据分析师:从0基础到数据分析达人】(https://edu.51cto.com/sd/108f3)专题课程的学员送一本《Python从小白到大牛》纸质版图书。学员购买视频后请于购买课程后10个工作日内申请赠书,过期视为放弃。注意:苹果支付购买,以及8折(含8折)一下活动购买不赠送图书。领取说明:加qq群:51CTO-
系统 2019-09-27 17:57:17 1819
我必须从Python脚本中获取Linux发行版名称。dist平台模块中有一个方法:importplatformplatform.dist()但在我的ArchLinux下它返回:>>>platform.dist()('','','')为什么?我怎么能得到这个名字?PS。我必须检查分发是否是基于Debian的。更新:我在这里找到了Python站点,自2.6以来,dist()已被弃用。>>>platform.linux_distribution()('','',
系统 2019-09-27 17:56:24 1819
生成器在Python中,使用了yield的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。列表推导式空间开销大占用内存耗时大,.生成器保存的是算法,而列表保存的计算后的内容,所以同样内容的
系统 2019-09-27 17:56:08 1819
在运用python的过程中,发现当函数参数为list的时候,在函数内部调用list.append()会改变形参,与C/C++的不太一样,查阅相关资料,在这里记录一下。python中id可以获取对象的内存地址>>>num1=10>>>num2=num1>>>num3=10>>>id(num1)>>>id(num2)>>>id(num3)可以看到num1、num2、num3三个对象指向的是一个地址,python在这里采用的是一种叫做引用计数的方式来完成的,很类
系统 2019-09-27 17:55:23 1819
踩了很多坑,记录一下这次试验,本次测试环境:Linuxcentos764位。pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。virtualenv是一个管理不同项目的工具,用以隔离不同项目的工作环境,在同一个python版本实现不同的环境需求。pyenv与virtualenv配合
系统 2019-09-27 17:54:23 1819
一、面向对象概述如今主流的软件开发思想有两种:一个是面向过程,另一个是面向对象。面向过程出现得较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适用于如今主流的大中型项目开发场景。面向对象则出现得更晚一些,典型代表为Java或C++等语言,更加适合用于大型开发场景。两种开发思想各有长短。对于面向过程的思想:需要实现一个功能的时候,看重的是开发的步骤和过程,每一个步骤都需要自己亲力亲为,需要自己编写代码(自己来做)对于面向对象的思想:当需要实现一个功
系统 2019-09-27 17:53:52 1819