学习 python,用的一个源代码:
https://github.com/rollingstarky/Python-Voice-Assistant/blob/master/src/ai.py
就是录音+百度识别+图灵
这个代码有点老了,我这里运行的错误提示如下:
please say something
you said: 你好
Traceback (most recent call last):
File "aitalk.py", line 129, in <module>
response = robot(request)
File "aitalk.py", line 78, in robot
response_dict = json.loads(response.text)
File "/Users/v2ex/.pyenv/versions/3.6.0/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/Users/v2ex/.pyenv/versions/3.6.0/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Users/v2ex.pyenv/versions/3.6.0/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
请教应该怎么修改啊??
1
guyeu 2019-10-14 14:03:18 +08:00
你把 response 打印出来不就能知道 json 哪里不对了。。
|
2
ysc3839 2019-10-15 00:39:38 +08:00 via Android
这个代码怎么这么奇怪? requests 有 .post() 的方法,还用 request('POST', ...)。requests 有 res.json() 的方法,还用 json.loads()。
|
3
l4ever 2019-10-15 08:47:01 +08:00
@ysc3839 水平不行呗.
请求 api 完全不判断一下能否返回结果啊. 我 request 之后都会 try 一下. result = response_dict["results"][0]["values"]["text"] 还有这个,万一 dict 没有 results 怎么办? |
4
PbCopy111 OP @rollingstarky 看看作者在不在这里。。。。。
|
5
craiiz 2019-10-15 16:13:24 +08:00
一般情况是第 78 行的时候发生了错误,导致返回的内容已经不是 json,变成了 html 或其他的数据
|
6
cominghome 2019-10-17 09:33:02 +08:00
我在想你的学习计划是不是安排得有问题,拧螺丝都没拧熟就准备开始造火箭啦?
|
7
PbCopy111 OP @cominghome 没办法,都说看了基础,开始做程序,我就看看别人的源码,然后慢慢来呗。
|