为“执行此操作”功能中使用的工具调用函数建立索引的有效方法

时间:2018-11-25 00:21:49

标签: python class oop visa pyvisa

我正在通过PyVisa用Python控制一些仪器(示波器,数据记录器等),最近我决定将许多相关的仪器函数语法预先定义为带变量的函数。例如:

def scope_reset():
    import visa
    instr = visa.ResourceManager().open_resource('foo')
    instr.write('*RST')

def logger_reset():
    import visa
    instr = visa.ResourceManager().open_resource('bar')
    instr.write('*RST')

def reset_instrument(instruments):

    if 'scope' in instruments:
        scope_reset()

    if 'logger' in instruments:
        logger_reset()

但是我想预先确定这些工具变量中的每个变量(在此示例中为 instr ),只需执行以下操作即可命令它:

def scope_reset():
    scope.write('*RST')

def logger_reset():
    logger.write('*RST')

def reset_instrument(instruments):

    if 'scope' in instruments:
        scope_reset()

    if 'logger' in instruments:
       logger_reset()

换句话说,我想摆脱签证的导入和直接工具功能(如前两个)中的工具变量的定义。我应该:

  • 创建一个定义变量的类?会通过的乐器 类实例的变量(这是一个对象吗?) 在每个工作中都不会受到“进口签证”电话的牵制 想使用变量的功能?
  • 为每个乐器制作一个.py文件,导入签证并在开始时定义该乐器?我认为这是行不通的,因为导入一个函数会“滞后”签证导入和工具变量,只导入一个不知道“ instr”是什么意思的instr.dosomething()函数。
  • 更好的解决方案? (对此押注)

0 个答案:

没有答案