采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师:找您的代码在pycharm中写了一遍,但在运行到 nodes_list = ast.literal_eval(nodes_str)时报错IndentationError: unexpected indent。请问是什么原因,该如何处理?
网上查了一下,ast.literal_eval和eval区别在于ast.literal_eval更安全,字符串必须要完全符合各类型(list、dict等)格式才能从字符串到类型的转换。
老师的代码抓取的字符串里面在最前面(也就是 '[' 前面)有一个缩进,导致整段字符串不符合list的规则。
[{"name":"\u79fb\u52a8\u5f00\u53d1","url":"/forums/Mobile","childre....
将代码改成:node_list = ast.literal_eval(nodes_str[1:]),忽略第一个字符就可以。
这个回复很好
如果这里有错的话 你试试使用:
import json
nodes_list = json.loads(nodes_str)
然后看看能不能行?
老师: 用了json后出现如下报错: json.decoder.JSONDecodeError: Expecting value: line 1 column 8651 (char 8650) 但用eval代替ast.literal_eval程序能运行,不知是否nodes_str的格式有问题?
应该是有问题 你留下qq 我加你看看
老师,我也遇到这位同学类似的问题,能请您解答一下吗
登录后可查看更多问答,登录/注册
慕课网严选精品教程,高质量内容+服务!
1.6k 20
2.0k 17
1.5k 17
1.4k 17
1.8k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号