导入并调用不同命令的列表作为函数

时间:2017-02-09 18:51:10

标签: python python-3.x serial-port pyserial

目前我正在尝试了解控制软件如何通过串口与调制解调器/ DCE通信。为此,我在Python中使用PySerial。我成功地被动地听取了两者的通信,并且在执行多个单个动作时确实有一个软件发送的字节串列表(例如b'\x1d\x10\xff')。

要完全理解命令结构和我想要的响应,请使用试错法并使用我自己的PC模仿控制软件,只需扩展我的“只听”&#39 ; -script通过发送命令并随后监听响应。现在我将这些命令定义为函数,例如:

def Testcommand1():
    if serial.isOpen() == True:
        serial.write(b'\x1d\x10\xff')
        print('Testcommand1 to do some specific stuff sent, awaiting response.')
    else:
        print('ERROR: Serial port is closed')

最后,我将有20到30个不同的命令。我计划在不同的文件中定义它们并从那里调用它们。据我所知,为了调用它们,我需要单独导入每个函数,比如

from commandfile import Testcommand1()
from commandfile import Testcommand2()
from commandfile import Testcommand3()
...

这就是我开始怀疑我的方法的原因(因为在我开始实际的' listen' -program之前我会有20到30行):这是真的吗最好的方法?或者是否有def function()更细长更聪明的东西来定义我要发送的命令?

1 个答案:

答案 0 :(得分:0)

from commandfile import Testcommand1()无效。

from commandfile import Testcommand1会。

你也可以将它们全部导入

from commandfile import *