我正在创建用于pyvisa的工具类。与手动将每个SCPI命令(大约400个)转换为方法不同,我只想将命令快速引用复制到文本文件中,并使用如下命令:
[SENSe:]TEMPerature:TRANsducer:RTD:RESistance[:REFerence]? [{MIN|MAX}]
以如下方式结束:
def temp_tran_rtd_res_qry(*args):
<check for valid arguments>
cmd = 'TEMPerature:TRANsducer:RTD:RESistance?'
argstr = ''
for arg in args:
argstr += ' ' + arg
return self.query(cmd + argstr)
我掌握了解析命令的方法,并且了解了如何使用setattr()
从模板函数创建具有正确名称的方法。你知道吗
给我带来麻烦的是,每个方法都知道给cmd
分配什么。我想我可以将原始字符串作为属性添加到类中(命名类似于方法),并在方法中动态解析它们,但为此,方法必须能够基于它们的名称(或其他内容)检索类属性。你知道吗
所以,我发现:
我可以在
__init__
中编写一个文件解析器,为文本文件中的每个命令字符串向类中添加一个方法,还可以编写一个通用方法来解析参数并为实际查询构建命令字符串。你知道吗相关问题 更多 >
编程相关推荐