Python运用实例
文章平均质量分 51
一些Python的小功能模块介绍
生活就是屁颠屁颠的过
所有命运馈赠的礼物,早已在暗中标好了价格
展开
-
python asyncio协程使用说明
无异步操作代码利用time.sleep使得线程挂起,模拟阻塞运行。async def hello(x): print(x,'Hello World:%s' % time.time()) time.sleep(1) print(x,'Hello World:%s' % time.time())def run(): print(time.time()) tasks = [asyncio.ensure_future(hello(1)), as原创 2021-02-12 15:32:26 · 6081 阅读 · 0 评论 -
python 实现modBus协议的crc校验算法
CRC校验循环冗余校验码(cyclic redundancy check)简称CRC(循环码),是一种能力相当强的检错、纠错码,并且实现编码和检码的电路比较简单,常用于串行传送(二进制位串沿一条信号线逐位传送)的辅助存储器与主机的数据通信和计算机网络中。算法介绍循环冗余校验码由信息码n位和校验码k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验码的字长,又称这个校验码(n+k,n)码。n位信息位可以表示成为一个报文多项式M(x),最高幂次是xn-1。约定的生成多项式G(x)是一个k+1位原创 2021-02-12 15:09:40 · 9988 阅读 · 3 评论 -
python实现三维坐标旋转计算
空间三维坐标系旋转计算计算空间三维坐标系变换一般都是利用旋转矩阵或者欧拉公式。python有个scipy库可以直接用于计算空间三维坐标变换。支持库pip install scipy旋转矩阵计算代码axis是旋转轴,radian旋转角度(弧度)rot_matrix = linalg.expm(np.cross(np.eye(3), axis / linalg.norm(axis) * radian))坐标计算代码rot_matrix是旋转矩阵,x是坐标数组[x,y,z]np.dot(ro原创 2021-01-25 21:40:00 · 36012 阅读 · 15 评论 -
Pyinstaller 打包qml和matplotlib成功后,运行报错解决方法
博主最近编写项目用到了pyqt5和matplotlib库,在编译环境下运行代码,程序是完美执行,但是通过pyinstaller 编译成exe后,通过控制台打印错误,看到图中错误。当注释掉matplotlib后,程序界面正常开启,但是一启用matplotlib库,程序依然无法打开,还是上图错误。查阅编译日志,发现在打包过程中有发现打包PySide2库很多missing,由于项目代码中没有使用到pyside2,便修改spec文件,修改如下:在exclude中输入Pyside2库,这样就不会将PySid原创 2021-01-19 21:42:24 · 26146 阅读 · 1 评论 -
python 通过 Snap7 与 PLC 实现数据通信
目录PLC配置IP地址设置关闭PLC数据保护开启访问权限电脑配置配置本机IP地址安装python-snap7snap7.dll库移植PLC数据块区域定义PLC数据格式程序注解备注PLC配置此文章以西门子PLC S7-1200为例。IP地址设置关闭PLC数据保护需要关闭数据块的优化访问选项。所有需要访问的数据块都得开启,否则程序会报错。开启访问权限需要开启访问所有权限,否则程序连接会报错。电脑配置配置本机IP地址由于PLC的通讯地址是192.168.0.1,需要将本机的IP地址与PL原创 2021-01-01 22:08:31 · 29216 阅读 · 8 评论 -
Python 串口通讯操作实现
串口通讯平常与设备通讯的方式都是串口通讯,常用的协议包括RS-232、RS-422和RS-485。RS-232RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。RS-232的接头是DB-9,但是通常使用最多3个针脚:TXD(2pin)、RXD(3pin)和 GND(5pin)。注意如果设备只提供接线柱的话,记得TX与设备的RX连接,RX和设备的TX连接。RS-422RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信原创 2020-05-17 16:58:07 · 30882 阅读 · 1 评论 -
Python windows脚本操作
windows操作目前很多流行的脚本工具(例如:按键精灵)都是模拟鼠标键盘操作实现一些简单的操作,比如重复点击一个地方,或者重复实现几个按键按下等,截取相应窗口界面保存。Python 要实现操作鼠标和键盘需要pywin32库支持。简单实现如果要了解更多功能,请查看pywin32技术文档。import timeimport win32gui, win32ui, win32con, win32apidef window_capture(filename): """ 函数功能:截屏原创 2020-05-14 10:45:18 · 26497 阅读 · 0 评论 -
Python ORM框架SQLAlchemy操作
ORM全称Object Relational Mapping(对象关系映射)。特点是操纵Python对象而不是SQL查询,也就是在代码层面考虑的是对象,而不是SQL,体现的是一种程序化思维,这样使得Python程序更加简洁易读。具体的实现方式是将数据库表转换为Python类,其中数据列作为属性,数据库操作作为方法。优点简洁易读:将数据表抽象为对象(数据模型),更直观易读可移植:封装了多种数据库引擎,面对多个数据库,操作基本一致,代码易维护更安全:有效避免SQL注入具体实现库SQLOb原创 2020-05-09 21:05:59 · 25738 阅读 · 0 评论 -
Python MySQL数据库操作
MySQLMySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选...原创 2020-05-07 19:38:39 · 25734 阅读 · 0 评论 -
Python SQLserver数据库操作
SQL ServerSQL Server是由Microsoft开发和推广的关系数据库管理系统.SQL Server特点C/S体系结构具有很好的伸缩性提供数据仓库功能支持OLE DB和多种查询代码实现SQL server创建、插入、查询、删除操作需要pymssql库支持import pymssqlimport timeimport traceback, sysclas...原创 2020-05-06 21:11:58 · 26645 阅读 · 1 评论 -
python SQLite数据库操作
SQLiteSQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。SQLite数据库优点不需要一个单独的服务器进程或操作的系统(无服务器的)SQLite 不需...原创 2020-05-05 10:38:42 · 26341 阅读 · 0 评论 -
python 操作配置文件
配置文件一般程序都需要保存一些设置信息,比如字体大小,语言等等。这时候就不能讲配置写入到程序代码中,需要一个文件来保存读取这些配置信息,这个文件就是配置文件。一般配置文件以ini文件形式存在,其内容可以根据开发者的习惯爱好来写,但大部分开发者会使用configparser模块来处理配置文件。python代码实现简单的配置文件类首先需要安装configparser库如果程序要多处使用到配置...原创 2020-05-04 07:10:40 · 26456 阅读 · 0 评论 -
python websocket通讯协议简单实现
websocket通常要实现C/S或者B/S架构的通讯时,会选择websocket通讯协议。websocket允许服务器主动给客户端发送消息,如果是在自动化控制做服务器的时候,可以考虑使用此协议。服务端代码首先得先安装 websocket-server库具体使用方法请查看库源代码,以下代码实现一些基本功能。import threadingfrom websocket_server im...原创 2020-05-02 23:51:04 · 25491 阅读 · 0 评论 -
Python 多线程与队列运用实例
多线程与队列运用实例#!/usr/bin/env python#-*- coding: utf-8 -*-#import threadingimport queue as Queueclass RunThread(threading.Thread): def __init__(self,name,q): threading.Thread.__init__(s...原创 2020-02-13 11:29:01 · 25945 阅读 · 0 评论