我对python / raspberry Pi有点新鲜。我正在使用omxplayer& amp;创建一个小型音乐剪辑启动器。 readchar库。基本上击中一个键,它会播放5秒循环。我从命令行运行脚本,一旦退出,我就看不到任何键盘输入。我知道终端仍在读取键盘笔划,因为我可以键入多个字符,按Enter键,它仍然会运行命令。我猜我需要在实际退出程序之前重置STDIO吗?任何输入赞赏。 (对不起,双关语有点意图)
import readchar
import subprocess
import signal
import os
import sys
import time
while 1:
key = readchar.readkey()
if key == 'q':
break
elif key == 'm':
pro = subprocess.Popen(['omxplayer', '-o', 'local','/home/pi/Music/Disc 2 - Rap Jazzy/06. Q-Tip ft. Heavy D - Listen.flac'], stdout=subprocess.PIPE, preexec_fn=os.setsid)
time.sleep(5)
os.killpg(os.getpgid(pro.pid), signal.SIGTERM)
elif key == 'i':
pro = subprocess.Popen(['omxplayer', '-o', 'local', '/home/pi/Music/Disc 2 - Rap Jazzy/02. Malik Yusef - Get Ready (Rmx).flac'], stdout=subprocess.PIPE, preexec_fn=os.setsid)
time.sleep(5)
os.killpg(os.getpgid(pro.pid), signal.SIGTERM)
else:
print key