Class Python,抽象类最佳实践

Class Python,抽象类最佳实践,class,serial-port,echo,microcontroller,abstraction,Class,Serial Port,Echo,Microcontroller,Abstraction,第一个问题在这里的堆栈 我需要在Pyserial模块和其他模块对它的调用之间创建一个抽象层。简言之,脚本将向设备发送命令,但它发送这些字符串的方法可以是通过串行端口,也可以是通过TTY线回送。绝大多数用于控制设备的python代码都相当成熟,并且工作得很好,但在这一点上,我们将介绍另一种具有相同功能的设备类型,只是减去串行端口控制 对于一个设备,我执行以下操作 import serial ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)

第一个问题在这里的堆栈

我需要在Pyserial模块和其他模块对它的调用之间创建一个抽象层。简言之,脚本将向设备发送命令,但它发送这些字符串的方法可以是通过串行端口,也可以是通过TTY线回送。绝大多数用于控制设备的python代码都相当成熟,并且工作得很好,但在这一点上,我们将介绍另一种具有相同功能的设备类型,只是减去串行端口控制

对于一个设备,我执行以下操作

import serial
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
ser.write('command to microcontroller')
ser.close()
import os
str = 'command to microcontroller'
a = 'echo' + " '" + str + "' " + "> " + '/dev/ttymxc0'
os.system(a)
对于新设备,由于缺少串行端口,我将执行以下操作

import serial
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
ser.write('command to microcontroller')
ser.close()
import os
str = 'command to microcontroller'
a = 'echo' + " '" + str + "' " + "> " + '/dev/ttymxc0'
os.system(a)
目前我有一个工作流程来处理这个问题,但这似乎非常浪费。我基本上是在一个模块中导入串行。上面的代码片段来自这个模块,我所有的调用都是为了与这个模块的micro通信,以确定它是应该输出一个串行端口还是回显一条tty线。看起来我基本上是在重写串行模块ser.write、ser.close、ser.DTR等的每个部分的函数,并根据设备类型创建if语句

我的问题是,本例中的类在函数和代码行方面是否会减少浪费,还是会令人毛骨悚然

谢谢