- 博客(83)
- 收藏
- 关注
原创 PyQt5 异步执行 + 实时更新进度条QProgressDialog
下面是一个完整的的示例,使用了QThread和QObject的信号机制来实现后台任务与 UI 的解耦。
2025-07-24 17:22:25
269
原创 Pandas DataFrame Filter
常常需要使用pandas对DataFramedf) 进行各种过滤操作,来获得特定的对象,以下是几种过滤的方法。
2025-07-23 20:37:34
64
原创 SENT(Single Edge Nibble Transmission)协议
全称:Single Edge Nibble Transmission用途:主要用于汽车中传感器(如压力/温度/位. 置传感器)与ECU之间通信标准:SAE J2716(目前最新版本为2016版)通信方式:单线、单向(Sensor ➝ ECU)
2025-07-16 21:05:00
925
原创 Python Click库的使用
Python 的 click是一个用于创建命令行界面的库,语法简洁、功能强大,特别适合构建复杂的 CLI 工具。
2025-07-16 18:20:14
282
原创 Python中Exception的处理
import sys"""自定义异常类"""passraise MyCustomError("发生了自定义错误")func_b()try:func_a()# 打印基本异常信息print(f"异常类型: {type(e).__name__}")print(f"异常内容: {e}")# 获取 traceback 对象# 遍历 traceback 栈帧while tb:print(f"文件: {filename}, 函数: {code_name}, 行号: {lineno}")
2025-07-15 16:41:21
347
原创 Python中如何从Set中删除元素
在 Python 中,是一个用于从集合(set)中移除指定元素的方法。如果该元素存在于集合中,它会被移除;如果该元素不存在,则什么也不会发生(不会抛出错误)。
2025-07-15 14:51:34
209
原创 如何使用Nxp TJA1043实现特定网络管理报文唤醒
摘要:本文针对TJ1043芯片控制ECU电源时实现"仅网络管理报文唤醒"的需求,提出基于Vector AUTOSAR的解决方案。通过配置硬件中断过滤非NM报文,在EcuM_GoHalt状态占用资源暂停任务执行,并设计CAN接收中断处理逻辑区分报文类型。关键点包括:1)上电时仅允许NM报文上传;2)使用定时器检测200ms无报文时触发下电;3)分两种下电场景处理数据保存与重启判断。最后通过EcuM状态机协调ShutdownTask执行顺序,确保系统可靠关闭。该方案有效解决了ECU选择性唤醒
2025-07-14 21:46:40
1145
原创 Python DataFrame中loc与iloc
在 pandas 中,loc和iloc是用于 按标签(label)或位置(integer position)选择数据 的两个核心方法。loc基于行/列的显式标签(index 或 column name)。包含结束位置(闭区间)。
2025-07-14 21:16:07
348
原创 Python sorted() 函数的高级用法
自定义排序顺序:奇数在前,偶数在后,都按升序排列print(sorted_numbers) # 输出: [1, 5, 5, 9, 2, 6]
2025-07-13 11:11:13
129
原创 Python 中的 itemgetter 和 attrgetter 的使用方法
在python编程中有时希望取出dict数据中所有元素的某一个key值或者从自定义数据类型中取出某个属性。这时往往使用iter来操作,但是这样的操作往往比较复杂且代码量相对比较大,这时可以使用itemgetter 和 attrgetter.
2025-07-13 11:00:45
227
原创 Autosar Assistant——Davinci Developer模块导入及布局功能
可将 Sheet 页及其包含的模块信息快速导出为 JSON 格式,极大节省了在已有项目中人为查找和统计模块位置的时间。对电脑性能要求高,尤其在执行批量操作(如模块在Sheet页中的布局)时更为明显。整体上极大减少了工程师在布局、命名和模块定位上的手动、重复性操作。
2025-07-12 10:11:24
336
原创 Pyqt5 QtWidgets的使用
是 PyQt5 中的核心模块之一,包含了用于构建图形界面应用的所有主要控件(Widgets),例如窗口、按钮、文本框、表格、布局等。
2025-07-11 13:54:43
258
原创 python中如何获得文件名及使用endwith获得后缀
在Python中经常会遇到需要解析一个文件的文件名及其后缀,下面介绍几种方法来获得文件名及其后缀。
2025-07-11 09:22:43
148
原创 Python rapidfuzz库的使用
rapidfuzz是一个高性能的 Python 字符串模糊匹配库,功能类似于fuzzywuzzy,但速度更快、依赖更少(纯 Python + C 实现)。
2025-07-10 10:52:27
205
原创 Python中iter()的用法
return valelse:print(num) # 输出 1 2 3用法说明iter(obj)获取obj的迭代器获取下一个元素不断调用函数,直到等于sentinel停止。
2025-07-09 13:51:30
288
原创 Autosar Assistant——Davinci Developer集成Review功能
完成基于Vector DaVinci工具链的软件集成工作后,通常需投入大量人工进行集成结果Review,例如检查模块版本、连线、初始值、Runnable顺序等配置是否符合架构输入。报告中对发现的问题进行高亮标记或统计汇总,醒目呈现差异与异常,便于工程师快速定位和核查问题,从而显著提升集成验证效率。Modify: 工程与目标模块均存在,但具体配置值或属性不同的项(修 改)。检查每个SWC模块的配置(如版本、参数)是否与目标版本或架构定义一致。:对比架构输入中定义的模块常量值与工程中的实际配置是否一致。
2025-07-07 18:04:03
1274
原创 Python中如何对自定义数据类型排序
dataclassname:strscore:int可以看到List中的自定义数据类型按照Score进行了递增排序。
2025-07-07 18:00:26
312
原创 Python中如何将枚举类型序列化
在Python开发中经常需要定义一些枚举类型来区分对象中的不同属性。但是当对这个对象进行序列化时,往往会报错,本文主要解决该问题。
2025-07-06 12:33:32
136
原创 Python中如何将非内置数据类型导出成Json格式
在Python开发中往往使用自定义的数据类型来封装属性特定对象。但是这些自定义的数据类型在导出成Json文件时往往会报出不支持的错误。本篇文章将介绍如何解决这个问题。2、将自定义数据类型导出到Json文件中:3、运行程序:可以看到最后一行报错。OwnObject不支持Json序列化。2、然后在json.dump中加入lambda表达式 :3、导出的Json文件:[{"prop1": "param1", "prop2": 1}, {"prop1": "param2",
2025-07-06 11:12:52
415
原创 Jenkins中如何上传文件到目标位置
在使用Jenkins时往往需要将本地文件上传到Jenkins服务器上固定的位置,方便后续操作。配方将介绍如何将本地文件上传到Jenkins的目标路径。
2025-07-05 19:06:22
140
原创 Gradle中如何设定使用JAVA_HOME以外的JRE版本
由于Davinci Team需要运行在JRE8,其运行环境是基于Gradle,而Jenkins和Tomcat是运行在JRE8以上的版本导致Gradle需要单独的JRE运行环境。
2025-07-05 18:55:46
311
原创 Autosar Assistant----Bsw模块信息导出与导入
在使用Davinci Configurator时一些配置项可能被无意图的更改,如有时鼠标滚轮滚动导致下拉列表项配置发生了变动。有时也需要对比两版软件前后的配置差异。虽然Vector提供了Diff工具,但是这个工具使用起来不是很方便。同时在使用Pipeline时,基础工程的配置也需要动态的创建,基于上述两种场景,Autosar Assistant中这个工具集成了Bsw模块信息以Json格式导出,也可以以Json格式输入生成对应的arxml。
2025-06-26 16:31:28
186
原创 Autosar Assistant ----Simulink连线信息导出功能介绍
今天给大家介绍Autosar Assistant第一个功能----Simulink信息的导出。
2025-06-26 15:12:07
302
原创 Autosar Crypto机理
AUTOSAR Crypto模块是保障汽车ECU通信安全的核心组件,主要提供加密、认证和完整性校验功能。其核心配置包含三个关键参数:密钥(Key)用于指定算法所需的密钥存储位置和输入元素;算法(Primitive)定义具体加密算法及相关参数;任务队列(Queue)将任务分配到不同处理通道。值得注意的是,密钥存储位置直接影响与HSM的联调过程,因为密钥管理模块会根据密钥位置调度不同的底层驱动函数。配置时需通过Csm_KeyElementSet等函数设置密钥元素,同时要注意算法参数的默认值处理。整个加密任务的执
2025-06-25 18:17:08
420
原创 “Autosar Assistant” —— 提升软件集成效率的实用工具
是一款自主开发的、基于Vector DaVinci 工具链的自动化集成辅助工具,旨在提升 Autosar 项目开发过程中的软件集成效率与配置一致性。强大的Simulink-AUTOSAR桥梁 :直接从Simulink模型(即使是骨架模型)提取端口连线信息,并能结合AUTOSAR工程进行智能校正,处理Ground/Constant等特殊连接。这是确保模型与工程一致性的基础。
2025-06-25 10:20:52
498
原创 Tomcat&Jenkins部署
目前只有Tomcat9支持Jenkins,由于针对Tomcat部署Jenkins所以使用是war包及servlet容器。如果发现多个Tomcat被部署可以通过命令行 sc delete tomcat(x) x表示版本,将相应tomcat服务称除。在浏览器中输入http://localhost:8080/jenkins/看是否可以访问Jenkins。3.使用本地浏览器输入http://localhost:8080/看是否会出现Tomcat的界面。war可以下载最新的。如果没有出现Tomcat的界面可以查看。
2024-06-24 17:30:31
832
1
原创 Streamlit如何不显示多页面信息在sidebar
在主python路径下创建pages文件夹,同时在该文件夹下创建相应页面的python文件即可创建多页面。1.在主python路径下创建.streamlit文件夹并在文件夹下创建config.toml文件。Streamlit中创建多页面是比较简单的,网络上也有很多教程,这里只简单讲一下。这样的设计是不太美观,在Streamlit中不想显示多页面在sidebar中。这样在sidebar中就不会出现多页面的信息了。在pages下创建一个空的page1.py。
2024-06-24 17:12:50
1030
原创 Streamlit控件样式修改
在python脚本中使用markdown来修改相应属性,可以看到被修改的属性会以中划线划掉说明原来的属性不再使用了,想要控制Streamlit的样式,可以通过markdown配合css来控制相应控件的样式。修改相应属性,需要在Button后加入‘{}’在‘{}’中修改相应属性。将鼠标放在想要更改控件的上方,同时右击鼠标选择Inspect。2,选中控件大类,并右击Copy-->Copy Selector。将Button的背景颜色变成红色。3.在复制到python脚本中.未修改前Button的属性。
2024-06-24 17:12:17
1589
2
原创 streamlit工具栏实现
在实际应用中可能通过按钮操作一些功能,当功能比较多时往往要加入很多按钮,所以按钮的管理就很重要了。下面通过像visual studio中工具栏一样的Toolbox来管理。这个的工具栏显然没有达到预期,Button的宽度并没有完全占据容器,可能通过增加Button的属性来使其宽度占据整个容器的。可以看到在左侧显示出了可折叠的。
2024-06-24 17:11:46
1195
原创 Streamlit empty组件
在Streamlit中empty组件可以做为占位符,来消除一些控制信息。如当登录成功后希望登录信息消失,可以通过下面的方法。这时只用在验证登录信息成功后加入placeholder.empty()即可达到目标效果。注意Streamlit界面显示控件的顺序是其声明的顺序,而不是其使用的顺序。但是想要达到的效果是当登录成功后,登录页面消失。先创建两列,然后分别在两列下显示是第几列。如果输入正确登录信息。
2024-06-24 17:11:15
838
原创 Streamlit控件数据的获得
Checkbox控件获得只有控件的状态,如果想要获得控制的内容需要在代码中转换。正常情况下通过将控件赋值给一个变量,通过该变量就可以拿到控件的数据。文本框中输入的内容为。
2024-06-24 17:10:07
489
原创 streamlit动态Table的创建
在实际应用中,使用Table来完成数据的增加删除,这就需要Table可以动态的完成行的增删,在streamlit中可以通过data_editor来完成相应的功能,通过属性num_rows设置为‘dynamic'来完成行的自动增删,通过column_config可以设置每一列的控件类型。
2024-06-24 17:09:34
887
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人