来自Python中两个可选源的输入?

来自Python中两个可选源的输入?,python,python-3.x,audio,input,Python,Python 3.x,Audio,Input,我正在尝试实现一个语音识别系统来调用命令(CMD模块)。由于SR库不能识别所有内容,因此我希望能够通过文本输入调用某些命令。我不知道是否可能等待来自不同来源的输入,比如: def get_input(): my_input = input('> ') or audio_input() return my_input 显然,如果源是音频,则必须对其进行处理以获取文本,因此我还希望有一个标志来识别用户发送的是什么类型的文本或音频 有没有办法做到这一点?非常感谢 正如johns

我正在尝试实现一个语音识别系统来调用命令(CMD模块)。由于SR库不能识别所有内容,因此我希望能够通过文本输入调用某些命令。我不知道是否可能等待来自不同来源的输入,比如:

def get_input():
    my_input = input('> ') or audio_input()
    return my_input
显然,如果源是音频,则必须对其进行处理以获取文本,因此我还希望有一个标志来识别用户发送的是什么类型的文本或音频


有没有办法做到这一点?非常感谢

正如johnsharpe在评论中所写,代码上的行为似乎很好。如果您想同时检查两个输入并处理第一个输入,那么需要某种多线程处理,这会使问题稍微复杂一些。您可以开始签出python多线程包


至于输入类型的识别,我想象文本输入将是字符串,而音频将是其他类型的对象。收集输入后,您可以使用
isinstance

检查对象的类型。您尝试过吗?如果在没有键入任何其他内容的情况下按Enter键,则输入将为
'
,这是false-y,而将调用
音频输入
函数。这不是你想要的行为吗?事实上,我试过了,这有点像我想要的,但每次我想输入语音命令时都避免按enter键。正如@user1620443所写,我想我需要尝试多线程模块。非常感谢您的评论,但是请考虑构建一个简单的Tkinter GUI,以在文本输入字段而不是控制台中输入文本命令。GUI将在后台运行,当用户输入某个内容时,它可以调用您指定的任何回调。其他GUI工具包也可以使用,但Tkinter以Python作为标准提供。我想这是实现这一点的方法,但我今天没有时间尝试了,所以我会尽快尝试,并对结果发表评论。非常感谢你的回答