如何通过迭代不同参数复用Python串口写入代码?
可行方案及示例代码
这个场景完全可行,核心思路就是把重复的操作逻辑抽离出来,用一个包含参数名与对应类属性的映射列表来迭代处理,彻底消除冗余代码。
重构后的代码示例:
import time def write_par(self): try: # 定义参数名与对应类属性的映射列表 param_mappings = [ ("ordoxo", self.artikel_va), ("hrdver", self.HVVV), ("hrdbrd", self.HWB), ("srll", self.serien_nummer), ("addr", self.mac) ] for param_name, attr_value in param_mappings: # 重置输入缓冲区 self.ser.reset_input_buffer() # 构造指令并发送 cmd = f"\r\nft_seton {param_name} {attr_value}\r\n".encode() self.ser.write(cmd) # 等待设备完成参数处理 time.sleep(1.0) except Exception: print('设备参数写入失败')
优化说明
- 用
param_mappings列表统一管理所有需要配置的参数对,每一项元组对应原代码中的一次独立写入操作。 - 循环遍历列表,复用缓冲区重置、指令发送、休眠这一套逻辑,避免重复代码。
- 后续新增参数时,只需在
param_mappings中添加新的元组即可,无需复制粘贴重复代码块,大幅提升代码可维护性。
内容的提问来源于stack exchange,提问作者BarryKingston
相关产品推荐
相关产品推荐

