我有一个名为“ random-words”的程序包,它每天都会生成一个随机单词。
这是主程序:
from random_word import RandomWords
r = RandomWords()
word = r.word_of_the_day()
print( word )
这是输出:
'{"word": "daedal", "definations": [{"source": "gcide", "text": "Cunningly or ingeniously formed or working; skillful; artistic; ingenious.", "note": null, "partOfSpeech": "adjective"}, {"source": "gcide", "text": "Crafty; deceitful.", "note": null, "partOfSpeech": "adjective"}]}'
我知道这是一个简单的问题,但是我可以在Web上找到任何东西,除了使用`exec()的页面之外。返回类型是字符串,我不能像字典一样使用它。我该如何处理?我尝试使用exec(),eval()或转换为list(),dict()甚至set(),但是没有任何效果。
这是使用exec()
时的代码:
from random_word import RandomWords
r = RandomWords()
word = exec(r.word_of_the_day())
这是错误消息:
Traceback (most recent call last):
File "c:\Users\filip\Desktop\test_words.py", line 4, in <module>
word = exec(r.word_of_the_day())
File "<string>", line 1, in <module>
NameError: name 'null' is not defined
问题来源:stackoverflow
您可以使用json.loads https://docs.python.org/3/library/json.html
import json
string_val = '{"word": "daedal", "definations": [{"k":"v"}]}'
dict_val = json.loads(string_val)
print(dict_val['word'])
输出
daedal
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。