【发布时间】:2021-03-31 22:29:53
【问题描述】:
我正在使用 microsoft azure translate api 来检测和翻译用户输入的语言并将其翻译回英文。翻译后,我将结果打印成 json 格式,可以在这里看到:https://i.stack.imgur.com/Zcq9l.png
之后,我尝试打印 'text:' 位之后翻译的任何内容,但是,每次尝试这样做时都会出现错误。我尝试使用 for 循环并引用它们,但它不起作用。
这里是代码位:
path = '/translate'
constructed_url = endpoint + path
params = {
'api-version': '3.0',
'to': ['en']
}
constructed_url = endpoint + path
headers = {
'Ocp-Apim-Subscription-Key': subscription_key,
'Ocp-Apim-Subscription-Region': location,
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
user_input = input("You: ")
body = [{
"text": user_input
}]
request = requests.post(constructed_url, params=params, headers=headers, json=body)
response = request.json()
json_data = json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(",", ": "))
print(json_data)
print("Translated Text: " + response.detectedLanguage.translations.text)
最后一行是导致错误的原因,但我不确定如何解决它。如果有人可以相应地指导我,我将不胜感激。 [1]:https://i.stack.imgur.com/Zcq9l.png
【问题讨论】:
-
您需要使用
[]语法访问响应列表/字典,如下所示;点语法适用于 JavaScript,而不是 Python。 -
感谢您的有用评论
标签: python artificial-intelligence microsoft-translator