【发布时间】:2019-01-10 01:53:48
【问题描述】:
需要在 {} 中插入 JSON 文件内容以用于 Payload。无法成功执行此操作。有什么想法吗?
尝试将 JSON 文件内容写入字符串,但失败。尝试将 JSON 文件插入有效负载 = {},失败。
import requests, meraki, json, os, sys
with open('networkid.txt') as file:
array = file.readlines()
for line in array:
line = line.rstrip("\n")
url = 'https://api.meraki.com/api/v0/networks/%s/alertSettings' %line
payload = {}
headers = { 'X-Cisco-Meraki-API-Key': 'API Key','Content-Type': 'application/json'}
response = requests.request('PUT', url, headers = headers, data = payload, allow_redirects=True, timeout = 10)
print(response.text)
我正在编写一个脚本来通过 API 将参数部署到 Meraki 网络。我在自己的文件中正确格式化了 JSON 信息,我需要将 JSON 数据插入脚本中 Payload 的位置。关于如何做到这一点的任何想法?我已经有一个 for 循环,它是运行 .txt 文件中包含的网络 ID 列表所必需的。有什么想法吗?
【问题讨论】:
-
你说你试图写/插入......放我看不到你实际这样做的任何地方。你设置了
payload = {},但什么也不做。我还假设您的缩进已关闭,因为我认为您不想在 for 循环的每次迭代后使用请求。 -
这段代码会因为缩进产生语法错误。请修复它。当您将代码粘贴到问题或答案中时,您可以立即选择粘贴的代码,然后键入 Ctrl+K 或单击界面中的
{}按钮,以便为您正确格式化。 -
刚刚更正了格式。代码原样适用于我们使用它的其他用途,但我不是 100% 如何插入 JSON 文件。这就是我寻求帮助的原因。
-
你试过json.load来读取你文件中的json数据吗?
-
我现在实际上正在尝试。我不是 python 专家,所以请原谅我。我正试图找出实际放置的位置。我需要 For 循环和 with 语句保持原样,因为它们执行完全不同的功能,这是整个工作所必需的。目前我不确定将您的建议放在此代码中的哪个位置。