You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过迭代不同参数复用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:11:54