鹏程万里-----python开发中遇到的问题

2024-09-04 00:38

本文主要是介绍鹏程万里-----python开发中遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.    self.tabWidget.currentChanged.connect(self.tab_change())
TypeError: argument 1 has unexpected type 'NoneType'

解决办法:

self.search.clicked.connect(lambda:self.search_information(e))

我个人理解是,当用connect时,里面调用函数时,需要给他用lambda定义。

 

2.在用modbus tk的时候总是不知道通信什么时候结束,在关闭串口的时候会遇到正在通信中被关闭的错误

Unhandled exception in thread started by <function get_info_into_DB at 0x00000284F3E74048>
Traceback (most recent call last):
  File "E:/hypn/python/uart_tool/main.py", line 69, in get_info_into_DB
    num = matt_modbus_com.execute(1, cst.READ_HOLDING_REGISTERS, 30110, 38)
  File "C:\Program Files\Python36\lib\site-packages\modbus_tk\utils.py", line 39, in new
    raise excpt
  File "C:\Program Files\Python36\lib\site-packages\modbus_tk\utils.py", line 37, in new
    ret = fcn(*args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\modbus_tk\modbus.py", line 306, in execute
    response_pdu = query.parse_response(response)
  File "C:\Program Files\Python36\lib\site-packages\modbus_tk\modbus_rtu.py", line 60, in parse_response
    raise ModbusInvalidResponseError("Invalid CRC in response")
modbus_tk.exceptions.ModbusInvalidResponseError: Invalid CRC in response

 

3.安装matplotlib的时候用pythoncharm直接导入没成功,只能用指令执行

pip3 install matplotlib即可

 

4.python查询mongodb的数据,大于+小于应该这么写

for x in self.db_list.find({"time": {"$gt": 20190614172602, "$lte": 20190614172845}}, {"time": 1, "Output_P": 1}):
 

5.modbus指令

读取40310

01 03 9d 76 00 01 4a 7c

返回

01 03 02 01 2C B8 09

 

写40310,多寄存器模式

01 10 9d 76 00 01 02 01 01 21 9f

返回

01 10 9D 76 00 01 CF BF

 

读40343

01 03 9d 97 00 1B 9B 81

返回

01 03 36 01 2C 01 2C 01 2C 01 2C 01 2C 01 2C 01 2C 01 2C 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CF 9A

 

写40369 单寄存器

01 06 9d b1 00 01 37 81

返回

 

读40410

01 03 9d da  00 19 8a 57

 

写40434 单寄存器

01 06 9d f2 00 01 c6 55

 

读40622

01 03 9e a2 00 0d 0a 05

 

 

 

6.由于用modbus tk出现了每次写了以后就没法再接受数据,也就是出现了传说中的

Response length is invalid 0

,也没发现又什么办法可以解决,于是只能用python直接串口读写

result = matt_uart_com.write(b'\x01\x10\x9d\x76\x00\x01\x02\x01\x01\x21\x9f')
time.sleep(1)  # sleep() 与 inWaiting() 最好配对使用
rec_num = matt_uart_com.inWaiting()if rec_num:try:  # 如果读取的不是十六进制数据--data = str(binascii.b2a_hex(matt_uart_com.read(rec_num)))[2:-1]  # 十六进制显示方法2print(data)except:  # --则将其作为字符串读取rev_str = matt_uart_com.read(rec_num)print(rev_str)time.sleep(5)
result = matt_uart_com.write(b'\x01\x03\x9d\x76\x00\x01\x4a\x7c')
time.sleep(1)  # sleep() 与 inWaiting() 最好配对使用
rec_num = matt_uart_com.inWaiting()if rec_num:try:  # 如果读取的不是十六进制数据--data = str(binascii.b2a_hex(matt_uart_com.read(rec_num)))[2:-1]  # 十六进制显示方法2print(data)except:  # --则将其作为字符串读取rev_str = matt_uart_com.read(rec_num)print(rev_str)

然后还遇到一个问题,就是如果获取linedit这种text的字符串如何转

self.list_tmp1 = '01 10 9e a2 00 0d 1a '

然后

Hex_str = bytes.fromhex(self.list_tmp2)就转成了上面的b'型字符串可以直接发送
matt_uart_com.write(Hex_str)

5.non-hexadecimal number found in fromhex() arg at position 1559

结果发现crc函数校验后的值是0xd,而不是正常的0xXXXX这种四位的,所以出现了一个单独的d所以无法转hex

 

6.wifistick通信

1.json通信

def wifi_post_rawdata(data):url = 'http://' + ip_addr + '/fdbg.cgi'form_data = json.dumps({'data': data})try:results = requests.post(url, data=form_data)#print(results.text)except Exception as err:print(err)return results.text
internal_information = wifi_post_rawdata('01 03 76 02 00 04 ff 81 ')
url_list = data.split(',')
url_sub_list = url_list[3].split(':')
main_status_info_struct.PV1_voltage = int_str_convert_01(url_sub_list[1])

 

2.rawdata通信

 

3.搞scrollArea_2之前失败了,但是这次却意外成功了,其实很简单,先拖一个控件到桌面,然后设定大小,然后

把这个设为空白

然后设置

然后把框缩小就可以了,也就是取消自适应后需要把窗口缩小才能让滑条使能

4.在用socket的时候,开启两个线程,发现会出现错误10054,后来改成socket不长时间链接,每次发送接收完数据都关闭然后重新链接就没有问题了

 

5.PermissionError: [WinError 5] 拒绝访问。: 'c:\\program files\\python36\\lib\\site-packages\\pip-9.0.3.dist-info\\description.rst'
You are using pip version 9.0.3, however version 20.2.4 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

到C:\Program Files\Python36>where cmd
C:\Windows\System32\cmd.exe这里用管理员权限打开这个exe然后执行python -m pip install --upgrade pip即可

这篇关于鹏程万里-----python开发中遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134506

相关文章

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b