python3:如何设置任意键控制程序运行、停止和退出

总体思路:设置一个线程,用来实时获取用户的输入,然后每次播放完后根据对应输入进行播放停止、继续和退出操作。

这里以图片播放控制为例,不多说,直接上代码:

import cv2 as cv
import os
from threading import Thread
import sys

command_key = 'o' # 此键用来控制图片播放、停止以及程序退出

# 定义一个实时获取键盘输入的程序
def get_command(): 
    global command_key # 因为后续要对这个command_key 进行修改,所以这里需要声明成global
    command_key = input() # 获取输入
    get_command() # 获取下一次输入
 
# 定义一个线程   
thd = Thread(target = get_command) #线程定义
thd.start() # 开启线程

#这个地方设置了一个路径和一个图片播放窗口
path_train = "D:/Datasets/miniimagenet/train/"
cv.namedWindow("Train", cv.WINDOW_FREERATIO) 

#显示在所设置路径下的所有图片, filename这里仅为文件的文件名,如1.jpg
for filename in os.listdir(path_train):
    show_path = path_train + filename # 加一个根目录编程图片的路径
    image = cv.imread(show_path) # 读取图片
    cv.imshow("Train", image) # 显示图片
    cv.waitKey(500) # 设置刷新时间为500ms
    
    # 下面这些为命令判断, s表示播放暂停,c表示继续播放,表示退出
    if command_key == 's':           
        print("Displaying stopped! Press c to start!")
        stop_flag = True
        while stop_flag:
            if command_key == 'c':
                stop_flag = False
                print("Displaying continue!")
    elif command_key == 'q':
        print("Display ended!")
        cv.destroyAllWindows()
        sys.exit()
    else:
        continue

 

  • 3
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值