如何在Python中找到框架集中的特定元素?

时间:2016-02-24 10:29:43

标签: python

我试图找到一个长帧内的特定元素,其输出如下:

接收:[' 01',' 03',' 3C',' 00',' 00' ,' 00',' 00',' 00',' 00',' 00',' 00',' 00',' 00',' 00',' 00',' 00', ' 00',' 00',' 00',' 00',' 00',' 00& #39;,' 00',' 4B',' 00',' 00',' 00',& #39; 30',' 30',' 30',' 31',' 30',' 30&# 39;,' 32',' 30',' 4B',' 00',' 00',&# 39; 00',' 30',' 30',' 30',' 30',' 30&#39 ;,' 30',' 30',' 30',' 53',' 4D', ' 41' ,' 52',' 54',' 50',' 00',& #39; 00',' 00',' 00',' 00',' 00',' 00&# 39;,' 00',' 00',' 00',' 7D',' 1F']

这是我的代码的一部分,我试图修改它:

    data = []
    data.append(CMRead)
    data.append((starting_address >> 8) & 0xFF)
    data.append(starting_address & 0xFF)
    data.append((num >> 8) & 0xFF)
    data.append(num & 0xFF)

    # opening a communication serial
    if not self.Open():
        return TIMEOUT

    #send frame
    if not self.SendFrame(address, data):
        self.Close()
        return TIMEOUT

    #receive frame
    if not self.ReceiveFrame(data, 2 + ((num + 7) // 8)):
        self.Close()
        return TIMEOUT

我需要一种机制来检查接收帧输出中是否有十六进制值' 53'' 4D',' 41' 存在与否,但我还没有。

感谢代码帮助!

1 个答案:

答案 0 :(得分:1)

wanted = ['53', '4D', '41']
frames = ['01', '03', '3C', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '4B', '00', '00', '00', '30', '30', '30', '31', '30', '30', '32', '30', '4B', '00', '00', '00', '30', '30', '30', '30', '30', '30', '30', '30', '53', '4D', '41', '52', '54', '50', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '7D', '1F']
captured = [(frame in wanted) for frame in frames]
any_captured = any(captured)