Python使用'input'读取输入文本出现NameError错误

在Python2.7中内置函数input()会将输入数据当成指令,从键盘中输入数据应该使用raw_input()
在Python3中input()函数用于从键盘中读取数据

  1 #!/usr/bin/python
  2 # -*- coding: utf-8 -*-
  3 
  4 # 使用 input 会出现NameError
  5 message = input("Tell me something, and I will repeat it back to you!\n>")
  6 # message = raw_input("Tell me something, and I will repeat it back to you!\n>")
  7 print(message)
Tell me something, and I will repeat it back to you!
>Hello
Traceback (most recent call last):
  File "./abc.py", line 5, in <module>
    message = input("Tell me something, and I will repeat it back to you!\n>")
  File "<string>", line 1, in <module>
NameError: name 'Hello' is not defined
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个使用 Python 代码来读取音频输入设备信息并转换为文本,然后将文本存储到数据库的示例: ``` import pyaudio import speech_recognition as sr import MySQLdb # 连接数据库 db = MySQLdb.connect("localhost", "user", "password", "database_name") cursor = db.cursor() # 设置麦克风 r = sr.Recognizer() mic = sr.Microphone() # 读取音频输入设备信息 with mic as source: audio = r.listen(source) # 将音频转换为文本 text = r.recognize_google(audio, language='zh-CN') # 将文本存储到数据库 sql = "INSERT INTO table_name (column_name) VALUES (%s)" val = (text,) cursor.execute(sql, val) db.commit() # 关闭数据库连接 db.close() ``` 在这个示例代码中,我们首先使用 `pyaudio` 库来设置麦克风,然后使用 `speech_recognition` 库来读取音频输入设备信息并将其转换为文本。接下来,我们使用 `MySQLdb` 库来连接数据库,并使用 `INSERT` 语句将文本存储到数据库中。最后,我们关闭数据库连接。 注意:这个示例代码中使用的是 Google Cloud Speech API 来转换音频为文本,你需要在 Google Cloud Console 中申请 API 密钥并将其设置为环境变量 `GOOGLE_APPLICATION_CREDENTIALS`,才能使用这个 API。 ### 回答2: 要实现读取音频输入设备信息,并将其转换为文本存储到数据库,可以使用Python中的一些库来实现这个功能。以下是使用python代码的步骤: 1. 导入所需的库: ```python import speech_recognition as sr import pymysql ``` 2. 初始化数据库连接: ```python conn = pymysql.connect(host='localhost', user='root', password='password', database='database_name') ``` 这里的参数根据实际情况进行修改,如localhost为数据库主机,root为用户名,password为密码,database_name为数据库名称。 3. 创建游标对象和音频识别对象: ```python cursor = conn.cursor() r = sr.Recognizer() ``` 4. 获取音频输入设备信息并进行转换: ```python audio_sources = sr.Microphone.list_microphone_names() print("可用的音频输入设备:") for i, source in enumerate(audio_sources): print(f"{i+1}. {source}") # 根据设备输入编号选择设备 device_num = int(input("请输入选择的音频输入设备编号:")) - 1 # 使用选择的设备进行音频输入 with sr.Microphone(device_index=device_num) as source: print("开始录音:") audio = r.listen(source) print("录音结束") # 将音频转换为文本 text = r.recognize_google(audio, language='zh-cn') # 使用Google语音识别API将音频转换为文本 print("转换结果:") print(text) ``` 5. 将转换结果存储到数据库: ```python sql = "INSERT INTO table_name (text) VALUES (%s)" cursor.execute(sql, (text,)) conn.commit() print("结果已存储到数据库") # 关闭数据库连接 cursor.close() conn.close() ``` 这里的table_name为要存储到的表名。 以上就是使用Python代码读取音频输入设备信息,并将其转换为文本存储到数据库的步骤。根据实际情况,你可能需要安装相应的库和进行一些参数的调整。 ### 回答3: 要读取音频输入设备信息并将其转换为文本存储到数据库,我们可以使用Python中的PyAudio库和SpeechRecognition库。 首先,确保你已经安装了这些库。可以使用以下命令在终端中安装它们: ``` pip install pyaudio pip install SpeechRecognition ``` 接下来,我们将使用PyAudio来获取音频输入设备信息。下面是一个简单的代码示例: ```python import pyaudio def get_audio_devices(): p = pyaudio.PyAudio() info = p.get_host_api_info_by_index(0) num_devices = info.get('deviceCount') devices = [] for i in range(num_devices): device = p.get_device_info_by_host_api_device_index(0, i) if device.get('maxInputChannels') > 0: devices.append(device.get('name')) p.terminate() return devices audio_devices = get_audio_devices() for device in audio_devices: print(device) ``` 此代码将输出音频输入设备的名称。 接下来,我们将使用SpeechRecognition库来识别音频并将其转换为文本。我们可以选择使用Google的语音识别API。你需要提供一个Google Cloud的API密钥。以下是一个示例代码: ```python import speech_recognition as sr def recognize_speech(): r = sr.Recognizer() with sr.Microphone() as source: print("请开始说话...") audio = r.listen(source) try: text = r.recognize_google_cloud(audio, api_key='YOUR_API_KEY') return text except sr.UnknownValueError: print("无法识别语音") except sr.RequestError as e: print("无法连接到Google API:{0}".format(e)) recognized_text = recognize_speech() print(recognized_text) ``` 请确保将'YOUR_API_KEY'替换为你自己的Google Cloud的API密钥。 最后,我们将使用Python的数据库API来将识别出的文本存储到数据库中。以下是一个示例代码: ```python import psycopg2 def save_to_database(text): conn = psycopg2.connect(database="YOUR_DATABASE_NAME", user="YOUR_USERNAME", password="YOUR_PASSWORD", host="YOUR_HOST", port="YOUR_PORT") cursor = conn.cursor() cursor.execute("INSERT INTO audio_text (text) VALUES (%s)", (text,)) conn.commit() cursor.close() conn.close() print("文本已保存到数据库") save_to_database(recognized_text) ``` 请确保将'YOUR_DATABASE_NAME','YOUR_USERNAME','YOUR_PASSWORD','YOUR_HOST','YOUR_PORT'替换为你自己的数据库连接信息。 通过使用以上代码,你将能够读取音频输入设备信息,将音频转换为文本,并将识别出的文本存储到数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值