
Python
文章平均质量分 52
HMJ_
生命不止,学习不息。
展开
-
win下使用Python获取串口列表
一个工具需要使用串口, 可是计算机中有时候又不仅有一个串口接口, 因此需要获取串口列表并且区分那个是串口接口;上述代码中对应的是win中的串口编号, 可通过该字段打开串口; 对应的是串口名, 可通过该字段判断改串口设备是否是串口通信设备, 通常包含’serial’字段;...原创 2022-06-28 12:25:02 · 2180 阅读 · 1 评论 -
树莓派获取MPU6050数据
背景使用手头的树莓派获取mpu6050模块的6轴传感器数据,用于计算设备的欧拉角来预估设备的状态;代码实现#!/usr/bin/python3import smbusimport mathimport timeimport numpy as np# chip addr definempu_addr = 0x68 # This is the mpu_addr value read via the i2cdetect commandmpu_acc_range = 2原创 2021-12-18 12:29:58 · 1276 阅读 · 0 评论 -
Python Smbus库简介
背景手头有个树莓派,又有个I2C通信的模块,因此想要用树莓派调一下这个模块,于是找了下树莓派控制模块的文章,发现都是从smbus的read byte封装的,可是按照I2C协议一次肯定可以读多个数据,于是想找库函数文档看下,发现Py官网文档上smbus库没有函数描述,但找到了语法与其相同的smbus2库, 于是记录下库函数用法。不过找到了smbus的源码, 源码中有函数接口。结果smbus支持的函数列表:static PyMethodDef SMBus_methods[] = { {"open",原创 2021-12-16 11:19:45 · 9472 阅读 · 0 评论 -
Pywin32库的使用
pywin32的常用函数获取指定窗口句柄:import win32guititlename = "ceshi"hwnd = win32gui.FindWindow(None, titlename)显示获取到的指定窗口win32gui.ShowWindow(hwnd, win32con.SW_SHOW)win32gui.SetForegroundWindow(hwnd)show函数的参数可以为如下值:预定义值 等 效 值SW_HIDE 隐藏窗口,大小不变,激活原创 2021-04-12 20:03:18 · 6379 阅读 · 1 评论 -
Python生成multipart请求数据
问题最近产品中有个接口就是需要在请求中包含json和图片信息,也就是multipart/form形式的请求数据,但是在Python中如何生成这种请求数据呢?本来构思的将不同段的数据全部取出,自己手动拼装,然后加入自定义头;可以仔细思考了一下,觉得自己造轮子肯定是重复的,Python应该有自带方法的;结果使用了requests库中的post方法的files参数,改参数支持元组形式,检测到改参数为元组自动将请求改为多段请求,每段请求中也支持用户自定义头部数据;其中files参数的格式如下:file原创 2021-01-15 15:49:41 · 1718 阅读 · 0 评论 -
pyqt界面支持拖拽文件
问题之前使用pyqt写过一个升级工具, 使用的过程中发现每次通过文件选项框选择文件太过于麻烦,如果可以支持拖拽文件进入就简便很多,于是去查了一下更新了一下工具;结果因为我使用的组件是QLineEdit存放文件地址,因此为了支持重载,写了一个新的类,继承了QLineEdit,重载了两个关于拖拽的函数;新建文件MLineEdit.py# -*- coding: utf-8 -*-from PySide2.QtWidgets import QLineEditclass MLineEdit(QLine原创 2021-01-14 12:29:15 · 5932 阅读 · 0 评论 -
网络认证自动登录
问题公司最近一段时间更新网络架构, 新增了网络认证的流程, 并且每周日都会强制用户下线, 每周一来到公司都要重新登录, 一两次无所谓, 有时候忘记了, 直接打开网页打不开就很烦, 于是就wireshark抓包看了下认证交互流程, 发现很简答的交互并且没做加密通信和防重复攻击.结果借用Python做了个登录脚本, 并且将脚本添加到crontab中, 让脚本定时执行;Python脚本如下, 就是模仿了一下登录过程, 借用了一下requests库:#! /usr/bin/python3import r原创 2020-12-14 10:58:22 · 2954 阅读 · 1 评论 -
Python: Non-UTF-8 code starting with ‘\xff‘ in file
文章目录问题解决过程问题今天在用Python写一个测试脚本,写完之后执行发现报错提示Non-UTF-8 code starting with '\xff' in file,与以往的不同之处就在于文件创建时用的是echo " " > test.py。解决过程起初怀疑是代码中的中文导致的,于是首先将代码中的中午删除掉,发现报错仍然存在;因此又在文件头部添加# -*- coding: utf-8 -*-表明文件是UTF-8编码,可是发现还是不行,依旧报错;仔细看了下描述感觉像是说我这个文件不是UTF原创 2020-09-16 11:06:46 · 4874 阅读 · 2 评论 -
Python 打印http请求信息
问题我们在开发过程中,为了快速验证接口,经常采用postman或者Python代码先行验证的方式,确保接口正常,在测试接口过程中偶尔会遇到接口异常,这时候要和打印完整的http请求,帮助接口开发人员确认问题;方法仅仅是打印出这些信息,很简单:import requestsresponse = requests.post('http://httpbin.org/post', data={'key1':'value1'})print(response.request.headers)print(r原创 2020-07-17 17:22:43 · 14737 阅读 · 0 评论 -
Python print输出不换行
问题使用Python的过程中需要输出一部分数据,但是print函数默认换行影响了输出结果;方法print(info, end='')这样输出就不再换行了,至于为什么会换行,我们可以看一下print的构建函数, 如下:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)也就是我们在使用print时指明结束符,就可以做到任一我们需要的结尾,为了方便不打印换行可以定义:def printr(info): print(i原创 2020-07-17 16:32:40 · 1108 阅读 · 0 评论 -
Python修改安装源为国内镜像源
可用国内镜像源:#阿里云 http://mirrors.aliyun.com/pypi/simple/ #中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/ #豆瓣(douban) http://pypi.douban.com/simple/ #清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ #中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/临时使用原创 2020-07-10 17:13:03 · 4107 阅读 · 0 评论 -
Python设置32位环境
问题因为Python的简介性,之前用它写了个程序用来升级设备。可是使用过程中有次使用者身边的设备是老旧的32位win7,暂时找不到64位的win使用,于是想重新打个32位的程序版本包,以防上述情况产生麻烦;解决Python的环境管理软件anaconda大名鼎鼎,不过一开始我也不太清楚我的问题是什么;因为我写的那个软件是基于pyinstaller打包的,所以理所应当的就去搜了pyinstaller 32结果找到了how to use pyinstaller for packaging 32 an exe原创 2020-07-06 16:35:27 · 7562 阅读 · 0 评论 -
Python各种进制的数相互转换
转十进制int上面函数,只需要将第一个参数填写转换数值,第二个参数描述函数是哪个进制的数即可。转二进制bin该函数为十进制转二进制函数。因此如果是十六进制或者八进制数需要先调用int函数转为十进制。转八进制oct该函数为十进制转八进制函数。因此如果是十六进制或者二进制数需要先调用int函数转为十进制。转16进制hex该函数为十进制转十六进制函数。因此如果是八进...原创 2019-11-04 15:11:43 · 903 阅读 · 0 评论 -
QObject::connect: Cannot queue arguments of type 'QTextCursor'
使用PyQt5编写UI程序的时候,发现运行时会经常蹦出这句提示,经检查发现该错误出现程序写入QtextEidt组件时产生的信息。经搜索后发现当使用QTextEdit,并使用了append方法就会出现该错误提示,原因是我们不能通过线程来修改UI,较为安全的修改用户界面的方式是向UI窗口发送信号(signal),较为简单的方式是使用 Qt threading类。class MyThread(QtC...原创 2019-10-22 16:33:09 · 7605 阅读 · 2 评论 -
InputMask
在UI界面输入栏中,使用InputMask可以限制输入字符;在QT的QLineEdit中,可调用setInputMask方法设置,若想取消掩码可以调用setInputMask("")输入空字符串取消。关于VBA中的TextBox.InputMask property参见:Link下表为掩码中可用字符及含义:Character MeaningA ASCI...原创 2019-10-17 11:09:25 · 2419 阅读 · 0 评论 -
Python字符串前加r、u的含义
python字符串前加字符rpython字符串前加字符r是告诉解释器该字符是原始字符、不要转义;原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。python字符串前加字符upython字符串前加字符u是告诉解释器该字符是按照unicode编码,防止源代...原创 2019-09-17 18:45:07 · 1824 阅读 · 0 评论