Python 在带有Deepl API的POST请求中使用变量作为数据参数

Python 在带有Deepl API的POST请求中使用变量作为数据参数,python,google-colaboratory,deepl,Python,Google Colaboratory,Deepl,我正在使用此脚本向DeeplAPI发出POST请求。在这种情况下,文本参数作为数据参数传递。我希望将文本作为变量传递,以便在其他脚本中使用它,但如果它不是数据参数,则无法发出post请求 url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx" querystring = { "text" = "When we work out h

我正在使用此脚本向DeeplAPI发出POST请求。在这种情况下,文本参数作为数据参数传递。我希望将文本作为变量传递,以便在其他脚本中使用它,但如果它不是数据参数,则无法发出post请求


url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx"

querystring = {
    "text" = "When we work out how to send large files by email",
    "target_lang" : "es"
}

response = requests.request("POST", url, data=querystring)

print(response.text)  
是否可以使用文本作为变量发出此请求?

作为一个更好的例子,本文来自前面的脚本。如果将文本用作数据参数,则无法使用包含文本的前一个变量。如果文本来自前一个变量,我不能在数据参数中使用此变量。例如:

脚本之前的变量:
text=“当我们研究如何通过电子邮件发送大型文件时”
我想在POST请求中使用此文本变量

我想在POST请求中使用此文本变量

我很困惑。为什么不在POST请求中使用此文本作为变量

url = "https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxx-xxxx-xxxxxxxxx"

text = "When we work out how to send large files by email"

querystring = {
    "text": text,
    "target_lang": "es"
}

response = requests.request("POST", url, data=querystring)

print(response.text)

除此之外,原则上,当变量
querystring
不包含查询字符串时,不要调用它。正确命名事物很重要

就POST请求而言,您发布的数据是
数据
,或
有效负载
,或
正文

body = {
    "text": text,
    "target_lang": "es"
}

response = requests.request("POST", url, data=body)
但即使不创建单独的变量也没有什么错:

response = requests.request("POST", url, data={
    "text": text,
    "target_lang": "es"
})

哦,好的。这个现在很好用。谢谢我正在学习使用python调用不同的API。有时候,最简单的事情变成了最难做的事情。原谅我的无知。也谢谢你关于如何命名数据的注释,我会记住的。我认为这个答案是正确的。@folloide这一切都很好,我不是真的在嘲笑你。:)它的意思是一个温和的轻推,而不是更多……接下来,创建一个函数,将
(text,target_lang)
作为参数并返回翻译。