我正在尝试用Python重新创建这个CURL请求,并让它在CSV中循环。
curl -X "DELETE" --user 'api:<my-api-key>' \ https://api.mailgun.net/v3/messages.thewebsite/unsubscribes \
-F address='email@gmail.com'我想我应该创建一个函数并返回结果。我使用的是request包和CSV,但得到的输出是
< 0x7fb3935baf70>处的函数remove_suppression打印到控制台。这里我漏掉了什么?
下面是代码示例。
Import csv
Import requests
def remove_suppression():
return requests.delete(
"https://api.mailgun.net/v3/messages.thewebsite.com/unsubscribes",
auth=("api", "key-abcdefg12345789gbb"),
data={'address':'row[1]'})
with open('/Users/brett/Downloads/example.csv',newline='') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
for row in readCSV:
try:
remove_suppression()
print("=========================")
print(remove_suppression.text)
sleep(5)
except:
#write log to a text file发布于 2021-10-05 22:39:56
您需要将row值作为参数传递给remove_supression。目前您正在打印remove_suppression的值,这是一个函数。
您应该将函数的顶部替换为:
def remove_supression(row): ...还要确保仅用row替换'row[1]'部分,否则只会发送文字字符串'row[1]'而不是实际的行。
最重要的是,您需要将从for循环中的remove_supression(row)获得的值赋给一个值,然后可以使用该值从获取文本,例如:
resp = remove_supression(row)
print(resp.text)发布于 2021-10-05 22:39:02
打印的不是结果,而是函数对象的字符串表示。将结果存储到variable并打印该变量。例如:
import csv
import requests
def remove_suppression():
return requests.delete(
"https://api.mailgun.net/v3/messages.thewebsite.com/unsubscribes",
auth=("api", "key-abcdefg12345789gbb"),
data={"address": "row[1]"},
)
with open("/Users/brett/Downloads/example.csv", newline="") as csvfile:
readCSV = csv.reader(csvfile, delimiter=",")
for row in readCSV:
try:
result = remove_suppression().text # <-- store the .text result
print("=========================")
print(result) # <-- print it
sleep(5)
except:
passhttps://stackoverflow.com/questions/69457949
复制相似问题