如何将Python应用迁移到无外网环境

因为客户环境有时候是私有网络,没有外网的环境,所以python无法在线安装包,将所需要包下载到本地进行安装有时还会失败,所以测试用这种方式来做无外网环境的迁移,主要是以下操作将虚拟环境中安装的Python依赖包记录到文件requirements.txt中pip freeze >requirements.txt将安装的Python依赖包保存到(项目目录)\packages目录下pip download  -r requirements.txt  -d  ...

阅读全文

python3使用pyftpdlib模块搭建简易FTP服务器

有时项目上面配置vsftpd有些麻烦,而且也只是临时提工一些文件下载,所以还是考虑使用python搭建一个临时的FTP服务器使用主要安装pyftpdlib模块pipinstallpyftpdlib然后我们就可以使用了,主要网上摘抄的一些代码,本地测试了下,没问题就记录下来#!/usr/bin/python3#coding:utf-8from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import...

阅读全文

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自定义过滤器的两种用法

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

阅读全文