后端常用命令
爱吃西瓜的二花
这个作者很懒,什么都没留下…
展开
-
dss命令
服务之间存在防火墙 这个需要注意 2:暂时关闭防火墙systemctl stop firewalldservice iptables stop端口号sudo netstat -tupln | grep 8080 ffmpeg -re -i sample_100kbit.mp4 -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:554/test.sdp#现在是需要在url中输入用户名与密码 其中的?使用%3F代替了 目前如何将用户原创 2021-11-26 16:09:10 · 522 阅读 · 0 评论 -
easydarwin ffmpeg
1.遇到的问题 easydarwin 已经启动 ffmpeg推流成功 但是拉流不成功。原因:开启了防火墙解决方案:firewall-cmd --statesystemctl stop firewalld.servicefirewall-cmd --state重新推流ffmpeg -re -i /root/out.mp4 -rtsp_transport tcp -f rtsp rtsp://27.0.0.1:554/testffmpeg -re -i video.mp4 -c原创 2021-11-26 16:07:00 · 863 阅读 · 0 评论 -
linux 服务器添加用户权限
vim /etc/sudoers原创 2021-10-03 17:15:48 · 280 阅读 · 0 评论 -
Linux du 查看目录大小
du -sh原创 2021-06-07 16:41:18 · 126 阅读 · 0 评论 -
subprocess.Popen
最近收到一个需求。启动一个进程,异步去录制一个视频。cmd="xxxxxxxxx"subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)原创 2021-05-25 14:39:27 · 128 阅读 · 0 评论 -
subprocess 获取docker_ip
import subprocesscmd = "hostname -I"ip=subprocess.check_output(cmd,shell=True)print(ip)print(ip.split())ip_list=ip.split()ip_f = ip_list[0]print(ip_f)print(type(ip_f)) ip_f=ip_f.decode('utf-8')print(type(ip_f))原创 2021-04-02 17:53:54 · 136 阅读 · 0 评论 -
python os
ptrhon os模块主要是与操作系统交互比如使用程序创建文件夹,删除文件目录,获取文件路径,路径分隔,路径拼接等操作import ospath='c:/root/python3/a.py'name='aa.py'print(os.path.split(path))print(os.path.abspath(path))print(os.path.join(path, name))print(os.path.basename(path))print(os.path.dirname(path原创 2021-03-05 13:56:24 · 85 阅读 · 0 评论 -
pkg-config
ls 964 vim spandsp.in 965 vi spandsp.in 966 make install 967 pkg-config --list-all 968 pkg-config -cflag zlib 969 pkg-config --cflag zlib 970 pkg-config --help 971 pkg-config --cflags zlib 972 pkg-config --cflags python2 97.原创 2020-12-22 10:55:52 · 111 阅读 · 0 评论 -
flask 返回二进制文件
使用场景:flask 返回二进制文件服务器端from flask import Flask, send_filefrom pathlib import Pathapp = Flask(__name__)@app.route('/')def home(): return "hello world"@app.route('/download')def download(): file = Path(__file__).parent / "fileMode.mp4"原创 2020-12-01 15:49:12 · 4532 阅读 · 0 评论 -
redis定时任务
使用场景:每一个task都有一个时间戳,然后写入redis中,redis服务zrangebyscore会按照时间范围进行查找,弹出现在范围内的task_id.import timeimport datetimeimport redisimport randomfrom flask import requestimport ioimport osfrom flask import Responseapp = Flask(__name__)r = redis.Redis()task_d原创 2020-12-01 11:18:03 · 1443 阅读 · 0 评论 -
flask 下载
def download(): out = BytesIO() workbook = xlsxwriter.Workbook(out) table = workbook.add_worksheet() table.write(0, 0, "大数据基础单元") table.write(0, 1, "IP") table.write(0, 2, "CPU...原创 2019-11-15 14:32:50 · 1553 阅读 · 0 评论 -
python 操作同一个方法时只能又一个请求
import threadingmutex = threading.Lock()@flow_execut.route('/lock', methods=['GET','POST'])def lock(): print("我进来了") if mutex.acquire(3): time.sleep(10) print("里面已经有人了,10秒后再...原创 2019-11-14 17:20:31 · 193 阅读 · 0 评论 -
异步执行
我正在创建一个flask应用程序,对于一个请求,我需要运行一些长时间运行的作业,而无需在UI上等待,等待将会造成http请求超时。我将创建一个线程并将消息发送到URI。该线程将计算并更新数据库。但是,URI在提交后会看到一条消息。from concurrent.futures import ThreadPoolExecutorexecutor = ThreadPoolExecutor(2)...原创 2019-11-13 13:29:06 · 82 阅读 · 0 评论 -
Python 获取客户端IP地址 判断城市位置
ip = request.remote_addr原创 2019-11-07 13:57:02 · 1254 阅读 · 0 评论 -
python excel表(2)
def excel_person(subjects): workbook = xlwt.Workbook() # 设置表格样式 style = xlwt.easyxf( 'font: name Arial Black, colour_index black, bold on; align: wrap on, vert centre, horiz center...原创 2019-10-28 10:35:55 · 139 阅读 · 0 评论 -
flask python 上传图片或头像
img = request.files['img'].read() print("上传头像==========》",img) current_dir = os.path.abspath(os.path.dirname(__file__)) img_path = '/statics/upload/%s/%s/%s/%s%s' % ( ...原创 2019-10-25 17:03:55 · 667 阅读 · 0 评论 -
python logging日志
#日志的功能简单理解起来,就是记录用户的操作记录,快速定位出错位置等。。。我还是之间上代码:#日志模块log.py# logging.disable(logging.CRITICAL) # 禁止输出日志def create_logger(): current_dir = os.path.abspath(os.path.dirname(__file__)) os.mak...原创 2019-10-24 09:33:47 · 207 阅读 · 0 评论 -
python 分页操作
#最近做了一个前后端分离的分页操作#有两种操作方式#第一种为基于插件的分页paginate(page, per_page, error_out=True)page 当前页数per_page 每页显示的条数error_out 是否打印错误信息paginate的属性paginate.page 当前页数paginate.pages 总页数paginate.total 数据总条数pa...原创 2019-10-24 09:19:37 · 812 阅读 · 0 评论 -
itsdangerous模块生成临时身份令牌 token
token验证使用itsdangerous模块import itsdangeroussalt=‘sdaf’#加盐,指定一个盐值,别让别人知道哦,否则就可以解密出来了t=itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=600)#过期时间600秒#如何加密res=t.dumps({‘username’:‘yangfa...原创 2019-10-15 15:37:55 · 1086 阅读 · 0 评论 -
python协程
进程是资源分配的最小单位,线程是cpu调度的最小单位协程是什么东西呢?今天就简单的梳理一下:我们在不断追求更高的执行效率,追求高并发,合理利用资源,利用时间。你想想单线程如果有并发效果,是不是就嗨了。协程的本质就是在单线程下,由用户自己控制一个任务遇到io阻塞了就切换另外一个任务去执行,以此来提升效率。可以控制多个任务之间的切换,切换之前将任务的状态保存下来,以便重新运行时,可以基于暂...原创 2018-10-22 14:51:44 · 310 阅读 · 0 评论 -
将图片转换成json code码
-- coding:utf-8 --#将图片转成json code码导入相关的库from sys import argvfrom base64 import b64encodefrom json import dumpsENCODING = ‘utf-8’ # 指定编码形式SCRIPT_NAME, IMAGE_NAME, JSON_NAME = argv # 获得文件...原创 2019-05-27 19:11:25 · 14818 阅读 · 2 评论 -
Python 中的“\u”后的16进制字符串 encode与decode 编码问题
编码原理https://www.cnblogs.com/284628487a/p/5584714.htmlpython3中对文本和二进制做了比较清晰的区分。python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示,所以不会将str和byte混在一起。在实际应用中我们经常需要将两者进行互转字符串通过编码转换为字节码,字节码通过解码转换为字符串https:/...原创 2019-05-30 11:19:23 · 1757 阅读 · 0 评论 -
JSON数据 Python之dict(或对象)与json之间的互相转化
什么叫做JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。为什么 数据交互的时候要转换成json格式注意:Python的内置类型与进行完json格式的...原创 2019-05-30 10:50:33 · 480 阅读 · 0 评论 -
OrderedDict 有序的dict 并转化为json
之前认为字典是无序的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类OrderedDict,实现了对字典对象中元素的排序例如:print “无序dict”d={}d[‘a’]=‘A’d[‘b’]=‘B’d[‘c’]=‘C’print “有序dict”d1 = collections.OrderedDict()d1[‘a’] = ‘A’d...原创 2019-05-30 10:34:20 · 5250 阅读 · 0 评论 -
git git常用知识点总结
记得关注我什么是gitgit是一个开源的分布式版本控制系统。用于高效敏捷的管理大小项目代码。git特点【引用】git 可以管理各种文件,特别是代码项目。多使用在*nix系统中是分布式管理,不同于集中管理。这是git和svn的核心区别更好的支持分支拥有全球唯一的版本号代码安全性更加有保证开源方便,数据传输速度更快,可以无网络操作集中式和分布式集中式 : 代码集中管理,需要...原创 2018-10-16 14:01:15 · 302 阅读 · 0 评论 -
SDK简介
记得关注我SDK简介网络上对于sdk的介绍,让人看起来很抽象,不知道说的是什么,今天就来翻译一下,大白话。SDK是一个总称,大致分为四类:开发代码示例:我们经常去运用软件的官网去下载sdk,也就是DEMO,就是代码,别人写好的代码,下载下来直接用的。接口文件,API:将代码进行了封装,提供一个接口。注意demo是代码可以修改的,接口是调用的。开发文档:文字性描述,就是介绍的,干什...原创 2018-10-17 10:02:49 · 8310 阅读 · 1 评论 -
简述进程与线程的速度
进程是资源分配的最小单位,线程是调度的最小单位。进程包含线程,进程中可以有多条线程,也可以只有一条线程。Python中由于解释器锁的存在不能利用多核,是指进程中的多线程不能利用多核,多线程包含在一个进程中的,只有进程才能利用多核,即一个进程一个核,里面的线程只能来回轮询利用一个核,不停的调用线程。进程比线程快的原因是,为了利用核,一个进程中不停的在调度线程,不停的切换线程。时间大多浪费在了这...原创 2018-11-05 09:35:36 · 1114 阅读 · 0 评论 -
docker详解
I. Docker简介Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker 跟传统的虚拟化方式相比具有众多的优势。我也将Docker类比于Python虚拟环境,可以有效的配置各个版本的开发环境,比如深度学习与Java环境。其他的Docker简介也不需要过多介绍,可以参考很流行的《Docker — 从入门到实践》。关于博客,文末列出了最近在掘金上看到的一些入门...转载 2018-11-13 09:53:39 · 197 阅读 · 0 评论 -
python 读取xlrd文件 日期问题 日期转变为浮点数
python 读取xls文件,发现日期转变为浮点数float(4678.0)第一步就是让浮点数转化为时间类型,元组类型的(2014, 7, 8, 0, 0, 0)xlrd.xldate_as_tuple(n, 0))a = xlrd.xldate_as_tuple(n, 0)第二部将元组类型转化为datetimez = a[0]x=a[1]c=a[2]b = datetime.da...原创 2019-07-11 18:27:14 · 2536 阅读 · 1 评论 -
python "subject" object has no attribute 'translate'
原因是:类型不一致解决办法:当然是类型变一致可能是接受参数 参数命名的时候参数 类型不一样原创 2019-08-28 15:22:50 · 1876 阅读 · 0 评论 -
sqlserver+pymssql
sqlserver 案例1https://www.cnblogs.com/jinanxiaolaohu/p/8296603.html导入公共秘钥库wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -2. 注册存储库add-apt-repository “$(wget -qO- ...原创 2019-05-26 18:56:19 · 1745 阅读 · 0 评论 -
websocket.WebSocketApp
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后...原创 2019-05-26 11:40:10 · 9440 阅读 · 1 评论 -
os.path.dirname(__file__) 得到文件所在目录
python中一个神奇的变量 file 这个变量可以获取到当前文件(包含这个代码的文件)的路径。os.path.dirname(file) 得到文件所在目录,再来一个os.path.dirname()就是目录的上一级,BASE_DIR 即为 项目 所在目录。...原创 2019-05-10 10:39:33 · 1494 阅读 · 0 评论 -
shell 编程
shell编程1.一般意义上讲后缀是 .sh 的文件就是一个shell脚本文件2.创建一个shell文件#!/bin/bash#上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo “Hello, world!”3.给它一个执行权限(这个要注意,不然运行不起来)chmod a+x one.sh4.终端运行shell脚本文件source 和 ...原创 2019-01-08 16:12:48 · 253 阅读 · 0 评论 -
Python 插入排序
记得关注我插入排序插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。...原创 2018-10-24 14:38:01 · 582 阅读 · 0 评论 -
Python 冒泡排序
记得关注我冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对...原创 2018-10-24 14:20:54 · 1807 阅读 · 5 评论 -
python 数据库过滤查询
有些时候数据库查询也是一个技术活主要查询条件大于 __gt大于等于 __gte小于 __it小于等于 __ite什么范围之内 __range存在于列表范围内 __in__year 日期字段的年份__month 日期字段的月份__day 日期字段的日_...原创 2018-10-25 10:40:23 · 862 阅读 · 0 评论 -
Python 快速排序
记得关注我快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有...原创 2018-10-25 09:41:01 · 297 阅读 · 0 评论 -
Python 选择排序
记得关注我选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个...原创 2018-10-25 09:17:47 · 344 阅读 · 0 评论 -
python 文件配置
这是简单文件配置,好比你封装的代码,模块。最主要的是配置好路径,其他的没有什么困难。原创 2018-10-22 16:44:26 · 230 阅读 · 0 评论