Flask下folium使用openstreetmap地图标注信息

最近没事研究下地图,python下看到的相关资料不是很多,只查到一个folium使用,于是自己就尝试了下一些基本功能Folium可以让你用Python强大生态系统来处理数据,然后用Leaflet地图来展示。Folium内置一些来自OpenStreetMap、MapQuestOpen、MapQuestOpenAerial、Mapbox和Stamen的地图元件(tilesets),并且支持用Mapbox或者CloudmadeAPIkeys来自定义地图元件。Folium支持GeoJSON和TopJSON叠加(overlays),绑定数据来创造一个分级...

阅读全文

python3将网络图片读取到内存并获取图片Base64编码

有时候需要一个远程图片的base64编码而不想下载图片,其实可以通过几条简单的命令就可以获取到图片的base64编码直接看下面的例子吧#!/usr/bin/python3#coding:utf-8from io import BytesIOimport requestsimport base64img_url = "https://sulao.cn/zb_users/theme/plain/style/images/logo.png"re...

阅读全文

python根据经纬度计算两点间距离

需要计算两点间距离,可以通过经纬度来计算,具体公式如下#!/usr/bin/python3#coding:utf-8from math import radians, cos, sin, asin, sqrtdef point_distance(lon1, lat1, lon2, lat2):    # 将十进制度数转化为弧度    ...

阅读全文

python3中redis订阅功能基本使用方法

redis本身支持了publish/subscribe的功能,publish是广播消息,subscribe是订阅消息,使用redis来订阅消息也是一种适合轻量级的方法,我们来看看吧使用redis-cli登陆redis,然后可以向频道发送消息PUBLISH [频道名称] [要发送的内容]#例如PUBLISH ch "test2"可以通过subscribe方法来获取指定频道的消息SUBSCRIBE [频道名称]#例如SBUSCRIBE ch使用python连接re...

阅读全文

python使用轻量级定时任务调度库schedule实现定时任务

我们通常在linux环境下想定时触发一个操作或者执行脚本之类的第一个想到的肯定就是使用cron计划任务,但是有时我们想把这些操作都集成到系统中,而不想单独再去启一个脚本来执行,这时schedule就排上用场了,当然我们还可以使用异步库celery来实现这个,当然只是一个简单的动作使用这个库的话我们就需要写很多的代码了我们来看看这个库的使用方法首先我们需要进行安装这个库pip install schedule基本用法都是网上摘抄的import scheduleimport timedef job...

阅读全文

python中subprocess模块使用总结

运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序。subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standardstream)和管道(pipe)的工具,从而在进程间使用文本通信subprocess.call()父进程等待子进程完...

阅读全文

python使用pdb进行断点调试

使用pdb进行断点调试我们需要在需要断点的位置添加pdb.set_trace()如果使用这种方式进行调试,我们可以直接运行python脚本即可开始调试另外我们还可以使用命令行来调试b line_number如果是这样我们需要执行python -m pdb xxx.py这种方式来启动断点调试下面我们来介绍下常用命令参数1进入命令行Debug模式,python-mpdbxxx.py2h:(help)帮助3w:(where)打印当前执行堆栈4d:(down)执行跳转到在当前堆栈的深一层(个人没觉得有什么用处...

阅读全文

Flask开启请求异步的两种方式

Flask是单线程运行,如果在某个页面中执行了一些耗时的工作,那么程序就会在这里等待,无法响应其他的请求。也就是说,如果一个路由响应函数中有阻塞代码,那么其他用户无法访问这个web服务器,而且自己也打不开其他页面了。那么如何解决这个问题呢?这里提供两种解决方案第一种方案开启flask线程app.run(host='0.0.0.0', port=5000, debug=False)#改为app.run(host='0.0.0.0', port=5000, debug=Fa...

阅读全文

flask自定义过滤器的两种用法

之前有一篇笔记讲过了过滤器的定义和使用,但是是基于jinja2模板引擎的,可以先看看我过去的笔记:https://sulao.cn/post/551.html其实flask内也带有过滤器,实例对象的过滤器方法是add_template_filter,他的用法有两种我们还是按照大型项目的标准来,在工厂函数中去注册过滤器第一种方式我们现在统一的文件中创建过滤器函数,我的文件命令是filter.py内容如下#!/usr/bin/python3#coding:utf-8__author__ = 'yang.su'i...

阅读全文

flask接收layui复选框提交数据的几种方法

由于前端页面的需求不一样,有些页面使用的layui的数据表格监听传递数据,有些则是使用分页模块自行编写的ajax提交方式,前者通过重载表格种的where条件添加参数来提交到后端进行数据的重新渲染,后者根据ajax写的方式有两种接收方法,真是实践了一下,写法稍有不通,后面传递的参数名也是不一样的1.数据表格的重载方式,我的代码如下,主要是接收id复选框的值htmL代码:<div class="layui-inline" style="width: 300px;">&nbs...

阅读全文