Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Python文件与React结合起来?_Python_Reactjs - Fatal编程技术网

如何将Python文件与React结合起来?

如何将Python文件与React结合起来?,python,reactjs,Python,Reactjs,我想在React项目的后端合并一个使用语音识别的Python文件 这里我有一段使用语音识别的Python代码: import speech_recognition as sr r = sr.Recognizer() def recognize(audio): try: return r.recognize_google(audio) except LookupError: print("There was an error"

我想在React项目的后端合并一个使用语音识别的Python文件

这里我有一段使用语音识别的Python代码:

import speech_recognition as sr

r = sr.Recognizer()


def recognize(audio):
    try:
        return r.recognize_google(audio)
    except LookupError:
        print("There was an error")
        return ''

def transciption():
    with sr.Microphone() as source:
        print('speak now')
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)
        return recognize(audio)

我尝试在react组件中导入文件,如下所示:

import SpeechRec from 'SpeechRec.py';
在这里,我尝试将我的按钮链接到Python文件中的函数:

<button onClick={SpeechRec.transcription()}>SR</button>

我可以做些什么来实现这个功能?

您可以使用javascript和nodejs实现自己的语音识别模块。查看一些项目,如,以及中的此响应


如果您仍然希望使用python作为后端语言,则必须实现自己的API(使用类似于库的API)才能与javascript代码交互。从react应用程序中,您应该发出HTTP请求,这些请求将被接收到您的自定义Python API,该API将响应应用程序。

您不能在react中导入Python文件,您需要创建后端服务器并发出请求或类似的请求。Flask和FastAPI很流行,小型后端框架,可用于创建小型web服务,以使Python函数作为后台服务可用。如果您计划在Internet上公开这些服务器,请务必考虑是否需要身份验证和授权。您希望使用Django框架来实现此功能。Django+Vue比Django+react更容易设置。若框架并没有问题,你们应该试试这个组合。我建议使用django而不是flask,尤其是django Rest框架是创建自定义API的常用框架。
./src/components/container/Container.jsx
Module not found: Can't resolve 'SpeechRec.py' in '......\collaborative-whiteboard-SR\ui\src\components\container'