Я не могу заставить KeyboardInterrupt прерывать цикл и все еще сохранять k, чтобы я мог вручную создавать и тестировать команды - PullRequest
0 голосов
/ 18 мая 2019

Я успешно запускаю следующую программу ... Однако мне бы хотелось иметь возможность выйти из нее, если я не вижу ожидаемых результатов и все еще сохраняю переменную k, чтобы я мог запросить оборудование для испытаний ... . Кажется, KeyboardInterrupt не работает ... когда я нажимаю на какое-либо нажатие клавиши, я вижу, что оно вошло в оболочку IDLE, но программа не выходит из цикла ... Кто-нибудь может дать мне идеи?

Спасибо

from BK_Logger import BK_scpi
import time

def main():
    bk = BK_scpi('TadiranTLH5930', 'bk')

    bk.blankScreen()
    m = bk.CreateResource()
    bk.dataLogOpen()
    bk.BKInit()
    while True:
        try:
            (int(m.query('stat:oper?')) == 32)
        except KeyboardInterrupt:
            print('key hit')
            break
        except:
            continue

        if (int(m.query('*opc?')) == 1):
            volts = float('{:4.3f}'.format(float(m.query('fetc:volt?').strip())))
            time.sleep(0.2)

    return m

k = main()
print('...commands use k.write and k.query....')
...