Python
GEEK.攻城狮
这个作者很懒,什么都没留下…
展开
-
【树莓派】python程序更新树莓派系统时间
使用程序更新系统时间1、关闭系统时间自动更新sudo timedatectl set-ntp false在shell里面使用date命令查看时间2、python程序import osdef set_sys_time(year,month,day,hour,minute,second): currenttime="%u-%02u-%02u %02u:%02u:%02u"%(year,month,day,hour,minute,second) os.system('sudo da原创 2022-01-13 10:42:43 · 1031 阅读 · 1 评论 -
【python】使用json.loads解码含中文字符串时报UnicodeDecodeError:“utf-8“ codec can‘t decode byte....错误问题
在使用json解码串口接收的数据时,直接解码,出现了下面错误:UnicodeDecodeError:"utf-8" codec can't decode byte....因为接收的字符中有中文,所以必须先进行解码操作。发送侧使用的编码为gb2312使用.decode(“gb2312”)先对接收到的字符串进行解码,然后再使用json.loads进行解析。运行结果正确...原创 2021-11-30 16:59:28 · 4622 阅读 · 1 评论 -
【python】使用pyQT5显示网页
1、安装库加载网页需要使用PyQTWebEngine库,可以使用import PyQt5.QtWebEngineWidgets测试是否有这个库,如果没有,需要先安装pip install PyQtWebEngine -i https://pypi.douban.com/simple/2、设计窗体在QT Designer里面,没有WebEngine窗体,只能在程序中创建,先将其他的部分放好3、生成代码使用pyUIC生成代码# -*- coding: utf-8 -*-# Form imp原创 2021-10-16 09:05:06 · 5423 阅读 · 3 评论 -
【树莓派】树莓派程序Thonny转命令行运行时报错的解决方法
在树莓派上编写了一段代码,准备加入开机启动。调试代码的时候一直使用的Thonny。开机启动需要用到命令行语句才可以。使用命令行python时,直接报错unicodeDecodeError:‘ascii’ codec can’t decode byte 0xe9百度搜索了解决方法原因是在发送时,采用了data.encode(‘gb2312’)方法去解码中文。增加一下代码,修改默认编码方式import sysdefaultencoding = 'utf-8'if sys.getdefaulten原创 2021-10-15 10:59:26 · 1803 阅读 · 0 评论 -
【python】pyQT5下lineEdit对话框无法限制输入范围问题的解决方法
pyQT5下QIntValidator无法限制输入范围在实际使用中,需要对输入的数据进行一个范围的校正,比如仅允许输入0~255之间的数字。使用了标准的QIntValidator方法,发现还是能够输入超过255的数字最终解决方案采用了正则表达式进行构建。对比程序代码如下:from PyQt5.QtCore import QRegExpfrom PyQt5.QtGui import QRegExpValidator, QIntValidatorfrom PyQt5.QtWidgets impor原创 2021-10-06 21:45:43 · 2463 阅读 · 1 评论 -
【python】pyQT5中ComboBox的用法
pyQT5中ComboBox的用法常用的方法1、添加下拉选项#添加一个下拉选项self.comboBox.addItem("默认文本")#从列表中添加下拉选项self.comboBox.addItems(["文本1", "文本2", "文本3"])2、设置显示项目self.comboBox.setCurrentIndex(2)3、获取选项中的索引self.comboBox.currentIndex()4、获取选中项的文本self.comboBox.currentText()原创 2021-10-04 12:11:30 · 24861 阅读 · 2 评论 -
【python】在PyCharm中使用pyQT5进行GUI开发的基本流程
本文仅作为基本操作流程的记录,不进行细节描述文章目录一、环境安装1、安装Pycharm2、安装pyQT53、创建工程二、配置扩展工具1、配置Qt Designer2、配置转换工具三、GUI设计1、打开Qt Designer2、GUI编程3、将ui文件转换为.py4、添加主程序四、打包发布1、安装pyinstaller2、打包一、环境安装1、安装Pycharm在官网上下载最新版本Pycharm安装即可2、安装pyQT5pycharm–File—Seting配置源:清华源:https://p原创 2021-10-02 21:48:35 · 2557 阅读 · 2 评论 -
【python】使用Python将MQTT数据写入MySQL
文章目录简化方案1、创建数据库2、安装paho库3、安装pymysql库4、使用python连接MQTT服务器5. 将数据写入MySQL数据库推送报文格式为:{"a":value,"b":value}需要将里面的a、b的值存入MySQL数据库,并将接受时间保存进数据库。简化方案在服务器上,模拟一台设备,订阅需要接收的主题,当接收到该主题发送来的数据的时候,将报文里面的两个数值保存到MySQL数据库里面。1、创建数据库三个字段,分别是是时间、a、bCREATE TABLE `mqtt_tes原创 2021-08-31 19:35:08 · 3829 阅读 · 5 评论 -
【python】python获取时间戳
在阿里云物联网发送属性信息的时候,报文体为:{"id":1630031333953,"params":{},"version":"1.0","method":"thing.event.property.post"}其中里面的id为毫秒时间戳的信息在python里面获取时间戳可以用以下代码:import timeprint(time.time())print(int(time.time())) #获取秒时间戳print(int(time.time()*1000)) #获取毫秒时间戳pri原创 2021-08-27 15:48:00 · 12889 阅读 · 0 评论 -
【python】anaconda下python自己写的库如何调用
例如我们要编写名为:aaxx.py 这么一个库文件使用import aaxx可以看到直接报错,系统找不到这个库文件1、编写函数文件内容如下:__author__ = "doudouba"__version__ = "1.0.0"def a(): print("print a") def b(): print("print a")2、保存保存在anaconda的Lib\site-packages目录下C:\ProgramData\Anaconda3\Lib原创 2021-08-27 15:11:34 · 2493 阅读 · 0 评论 -
【python】python使用串口发送中文乱码的问题
使用python控制GPRS模块,发送中文短信的时候,会出现乱码。而直接使用串口调试助手就不会出现这种问题。现象:短信收到的中文都是乱码。使用串口抓包助手,查看实际发送的十六进制报文:可以看到,“号”这个中文被编码成了E58FB7而通过正常串口调试助手发送的时候,抓包的报文为:“号”的编码是BA C5通过网站 https://www.qqxiuzi.cn/bianma/zifuji.php可以看到,一个采用的PYTHON默认采用的是UTF-8编码方式。尝试1将命令改为:短信收原创 2021-08-23 19:26:05 · 2882 阅读 · 0 评论 -
【python】fromat函数的用法
基本用法:str.format()数字格式输出描述3.1415926{:.2f}3.14保留小数点后两位3.1415926{:+.2f}3.14带符号保留小数点后两位-1{:+.2f}-1带符号保留小数点后两位2.71828{:.0f}3不带小数5{:0>2d}5数字补零 (填充左边, 宽度为2)5{:x<4d}5xxx数字补x (填充右边, 宽度为4)10{:x<4d}10xx数原创 2021-08-06 15:30:32 · 1286 阅读 · 0 评论 -
【python】python中int str互转
str转int字符串str转换成int: int_value = int(str_value)int转str1、str函数int转换成字符串str: str_value = str(int_value)2、fromat函数str_value = “{}”.format(int_value)3、补齐,例如1专为0001str_value ="{:0>4d}".format(int_value)fromat函数参考fromat函数用法...原创 2021-08-06 15:23:21 · 20831 阅读 · 0 评论 -
【python】python将存储在bytearray中的json数据转换为python数据格式
输入的数据格式:bytearray(b’{“product”:“DDJ”,“id”:“0002”,“T1”:23.2,“T2”:23.8,“VCC:”:3.4}’)def bytearray_to_json(frame): frame_json = frame.decode('utf8') data = json.loads(frame_json) return data过程:1、首先将bytearray使用decode转换为字符串2、在使用loads命令,将json格式原创 2021-08-06 15:14:39 · 416 阅读 · 0 评论 -
【python】python接收串口json格式数据并解析
首先感谢:https://www.cnblogs.com/mangojun/p/10558069.html本文参考了该博主部分代码最近在写一个zigbee的程序,终端发送采用了json格式打包。上位机使用了树莓派,直接使用python编程,第一次尝试树莓派接收数据,仍旧采用了类似于C语言的数据处理方式。数据处理过程:1、首先通过进程,将数据接受进一个bytearray的数组中2、在数组中查找 { ,因为我的格式比较简单,发送上来的数据都只有一组大括号,所以处理起来相对容易一些。3、在数组中查原创 2021-08-05 10:54:30 · 2626 阅读 · 0 评论 -
【树莓派】使用USB转串口模块扩展树莓派串口
系统:respberrypi平台:树莓派 4B树莓派40PIN引脚上,只有1个串口,在嵌入式系统中,经常会遇到使用多个串口的情况。可以通过USB转串口模块来进行扩展。在树莓派系统中已经内置了常用的USB转串口驱动。1、将USB转串口设备插入树莓派的USB口,通过lsusb命令查看是否正确识别2、使用ls -l /dev/tty*命令,查看设备名称。在这儿被识别成了/dev/ttyUSB03、查看串口波特率stty -F /dev/ttyUSB04、查看串口连接信息,dmesg | gr原创 2021-06-02 16:46:24 · 2112 阅读 · 0 评论 -
【micropython】滑动平均滤波
滤波原理:采用队列方式,当来一个新数据时,将队列里面的最老的数据替换掉。计算队列里面数据的平局值或加权平均值。例如采样数据为 1,2,3,4,5,6,7,8滑动窗口为4时,第一次计算为(1+2+3+4)/41、滑动平均滤波算法python 程序代码:from microbit import *a = [0, 0, 0, 0]i = 0while True: data = pin0.read_analog() a[i % 4] = data i +=1 s原创 2021-05-27 20:45:23 · 3334 阅读 · 2 评论 -
【树莓派】树莓派使用python、E16 GPRS模块向MQTT服务器传输数据
树莓派连接E16 GPRS模块模块:塔石E16 GPRS模块 MQTT版本1、硬件连接示意图E16模块错位了,应该接PIN3,PIN42、串口调试需要安装minicom,可参考https://blog.csdn.net/cw_huang/article/details/117060235python测试代码:发送命令:import serialimport timeser = serial.Serial("/dev/ttyAMA0",115200)# 发送数据,必须是\r\n原创 2021-05-20 08:33:16 · 541 阅读 · 0 评论 -
【树莓派】树莓派使用paho-mqtt库进行MQTT通讯
树莓派使用paho-mqtt库进行MQTT通讯参考资料:https://www.emqx.cn/blog/use-mqtt-with-raspberry-pihttps://pypi.org/project/paho-mqtt/1、安装paho-mqtt库官方网站:https://pypi.org/project/paho-mqtt/pip install paho-mqtt2、登录MQTT服务器3、发布消息# test_connect.pyimport paho.mqtt.cl原创 2021-05-20 08:11:55 · 1555 阅读 · 0 评论 -
【树莓派】读取树莓派温度信息
pi@raspberrypi:~ $ vcgencmd commandscommands="vcos, ap_output_control, ap_output_post_processing, vchi_test_init, vchi_test_exit, pm_set_policy, pm_get_status, pm_show_stats, pm_start_logging, pm_stop_logging, version, commands, set_vll_dir, set_backlight原创 2021-05-18 20:47:21 · 310 阅读 · 0 评论 -
【python】python中“if __name__==‘__main__‘:”的作用
在python程序中,我们经常见到if __name__=='__main__':这种写法,他的作用是如果当前文件是主文件,则执行后面的代码,如果本文件是被调用的,则不执行后面的代码。当我们在主文件中,打印__name__时,输出的是__main__,而我们如果使用调用的方式打印的话,则输出的是模块的名字,例如:...原创 2021-02-01 11:19:02 · 95 阅读 · 0 评论 -
【Python】在anaconda下安装不同版本的TensorFlow
文章目录创建虚拟环境激活虚拟环境查看虚拟环境安装TensorFlow和keras添加清华和中科大两个镜像安装库删除虚拟镜像之前安装了1.9.0的TensorFlow版本,新的2.0据说较为简单,所以准备使用2.0,但是之前的1.9.0不能够随便删除,否则一些代码无法正常运行了。所以采用了虚拟环境的方法来进行安装,与之前的那个进行隔离。创建虚拟环境我之前的版本是3.7.4的,所以直接继续用3.7.4的。创建虚拟环境tf2在anaconda prompt命令行下,创建tf2conda create原创 2020-08-16 17:09:37 · 1423 阅读 · 0 评论 -
【Python】【转载】一图看懂python
原创 2020-08-07 10:18:38 · 113 阅读 · 0 评论 -
【Python】定义函数及返回多个值的方法
定义函数,并返回多个值def aaa(): a=1 b=2 c=3x,y,z=aaa()print(x,y,z)(1,2,3)原创 2020-08-07 10:16:52 · 975 阅读 · 0 评论 -
【数据处理】灰色关联分析法
文章目录灰色关联分析法灰色关联度分析灰色系统关联度灰色关联分析法基本思想例子一、创建数组二、数据处理1、标准化(无量纲化)2、根据公式需要值,计算对应差数列表,并计算矩阵中的最大值、最小值3、关联系数计算:ξi(k)\xi_i(k)ξi(k)4、求关联度5、分析结果灰色关联分析法灰色关联度分析灰色系统灰色系统之部分信息已知二部分信息位置的系统,灰色系统理论所要考察和研究的是对信息不完备的系统,通过已知的信息来研究和预测位置领域从而达到了解整个系统的目的关联度关联度是事物之间、因素之间关联性大小原创 2020-08-06 14:20:07 · 4908 阅读 · 1 评论