0

我有在 while 循环中不断使用标准输出读取的代码,我想根据这个标准输出在 tkinter gui 上显示 2 个图像中的 1 个。标准输出数据以数组形式出现,用于决定 python gui 将显示 2 个图像中的哪一个。但是,我无法弄清楚在这种情况下如何让线程工作。这是没有线程的基本代码:


from subprocess import Popen, PIPE
print ("Opening...")
p = Popen ("C:\Program Files\Demo.exe", stdout=PIPE)

arr2 = []
arr3 = []
start = 0
dtct = 0
away = 0
chk = 0
sensitivity = 15
print ("Reading...")
while 1:
    line = p.stdout.readline()
    if not line: break
    if line.find(':')!= -1 and len(line) > 4:
                    time = line.split(",")[1]
                    Ta= line.split(",")[2]
                    arr1 = [float(n) for n in line.split(',')[3:67]]
                    delta = [i - j for i, j in zip(arr1,arr2)]
                    deltarnd = [ round(elem, 2) for elem in delta ]
                    for index, item in enumerate(deltarnd):
                            if item > 3:
                                    dtct = dtct +1
                            if item < -3:
                                    away = away +1
                    if (dtct > sensitivity) and chk == 0:
                            print "hand detected"
                            chk = 1
                    if (away > sensitivity) and chk == 1:
                            print "hand moved away"
                            chk = 0
                    dtct=0
                    away=0
                    arr3=arr2
                    arr2=arr1
print ("EOP")
4

0 回答 0